Php get_meta_tags не получает результата (справка)

#php #html

#php #HTML

Вопрос:

Я хочу передать введенный пользователем URL YouTube и получить ключевое слово или теги в результате.

Но я не знаю, что не так.

Когда я нажимаю на кнопку отправки, ничего не происходит

   <?php if( isset($_GET['submit']) ){ $yt = htmlentities($_GET['yt']);
 $tags = get_meta_tags('$yt');   
  echo 
$tags['keywords'];     // php documentation ?>
  

HTML

   <input type="text" name="yt" id="yt"  placeholder="https://youtu.be/jhCD4yCcogE" value="" />
 </form>
  <input type="submit" name="Submit"/>
  

Заранее спасибо

Комментарии:

1. Измените get_meta_tags('yt') на get_meta_tags($yt) (передавая переменную вместо буквального текста).. Здесь вам также не нужен htmlentities() , поскольку вы не выводите значение клиенту. На будущее всегда включайте полное и подробное объяснение вашей проблемы. Просто сказать «это не работает» на самом деле ничего не говорит нам о вашей проблеме.

2. @Magnus Eriksson позвольте мне обновить и получил это

3. @Magnus Eriksson После обновления кода ничего не произошло

4. Я не помещал переменную в одинарные кавычки в своем предложении. в конечном итоге будет передана строка литерала $yt , а не значение переменной. Вам нужно передать фактическую переменную: get_meta_tags($yt) . Я также не понимаю, почему вы вообще используете htmlentities() здесь. Это используется для экранирования HTML в объекты, когда вы выводите (например echo ) значение. Здесь это вообще не имеет смысла.

Ответ №1:

Вот рабочий пример

 <form >
    <input type="text" name="yt" id="yt"  placeholder="https://youtu.be/jhCD4yCcogE" value="https://youtu.be/jhCD4yCcogE" />
    <input type="submit" name="submit"/>
</form>
  
 if (isset($_GET['submit']) amp;amp; $yt = htmlentities($_GET['yt'])) {
    $tags = get_meta_tags($yt);
    var_dump($tags);exit;
}
  

В вашем коде 3 небольшие ошибки:

  1. Ваше имя отправки — это Submit вы проверяете submit
  2. Ваш ввод, отправленный за пределы <form>
  3. Вы используете $yt немного неправильно. Вам не нужно оборачивать это с '$yt' , если вы хотите отправить переменную в качестве аргумента функции.

Вот что я получаю сейчас после отправки этой формы

 array (size=22)
  'theme-color' => string '#ff0000' (length=7)
  'title' => string 'Google My Business Website Tutorial | How to Create free website of Google my business 2020' (length=91)
  'description' => string 'Learn how to create google my business website in 5 minutes (complete tutorial). In tutorial will know about description, how to google my business edit with...' (length=160)
  'keywords' => string 'Google My Business Website Tutorial google my business website builder tutorial, free website, google my business, How To Create a Free Website For Google My...' (length=160)
  'twitter:card' => string 'player' (length=6)
  'twitter:site' => string '@youtube' (length=8)
  'twitter:url' => string 'https://www.youtube.com/watch?v=jhCD4yCcogE' (length=43)
  'twitter:title' => string 'Google My Business Website Tutorial | How to Create free website of Google my business 2020' (length=91)
  'twitter:description' => string 'Learn how to create google my business website in 5 minutes (complete tutorial). In tutorial will know about description, how to google my business edit with...' (length=160)
  'twitter:image' => string 'https://i.ytimg.com/vi/jhCD4yCcogE/maxresdefault.jpg' (length=52)
  'twitter:app:name:iphone' => string 'YouTube' (length=7)
  'twitter:app:id:iphone' => string '544007664' (length=9)
  'twitter:app:name:ipad' => string 'YouTube' (length=7)
  'twitter:app:id:ipad' => string '544007664' (length=9)
  'twitter:app:url:iphone' => string 'vnd.youtube://www.youtube.com/watch?v=jhCD4yCcogEamp;amp;feature=applinks' (length=70)
  'twitter:app:url:ipad' => string 'vnd.youtube://www.youtube.com/watch?v=jhCD4yCcogEamp;amp;feature=applinks' (length=70)
  'twitter:app:name:googleplay' => string 'YouTube' (length=7)
  'twitter:app:id:googleplay' => string 'com.google.android.youtube' (length=26)
  'twitter:app:url:googleplay' => string 'https://www.youtube.com/watch?v=jhCD4yCcogE' (length=43)
  'twitter:player' => string 'https://www.youtube.com/embed/jhCD4yCcogE' (length=41)
  'twitter:player:width' => string '1280' (length=4)
  'twitter:player:height' => string '720' (length=3)
  

Комментарии:

1. большое спасибо за исправление и подробное объяснение.