За последние 24 часа нас посетили 23492 программиста и 2036 роботов. Сейчас ищут 934 программиста ...

Ошибка Undefined index: keywords

Тема в разделе "PHP для новичков", создана пользователем webxmm, 7 мар 2018.

  1. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    Подскажите в чем ошибка ребят

    PHP:
    1. $tag = get_meta_tags('http://www.example.com/');
    2.     echo $tag['keywords'];
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    var_dump ( $tag );
    выведет список содержимого..

    есть такой ключ?
    --- Добавлено ---
    echo $tag['keywords'] ?? 'Нема keywords';
     
    webxmm нравится это.
  3. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    вот что вывело
    array(1) { ["viewport"]=> string(35) "width=device-width, initial-scale=1" }
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    ну?
     
    webxmm нравится это.
  5. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    я не понимаю где ошибка . можешь сказать?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    у тебя ключ keywords отсутствует в массиве
     
    webxmm нравится это.
  7. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    Почему так? Я ведь делаю по примеру https://php.ru/manual/function.get-meta-tags.html
    Можете помочь?
    --- Добавлено ---
    PHP:
    1. if (isset($_POST['sitename'])){
    2.     if(count($tag['keywords']) == 0)
    3.     {
    4.         echo "<div id='no_keywords'>Keywords not found</div>";
    5.     }
    6.     else
    7.     {
    8.         echo "<div id='title'>List of keywords:</div>";
    9.         echo "<br/>";
    10.         print_r($tag['keywords']);
    11.                
    12.     }
    13. }
    HTML:
    1. <form id="sform" method="POST" name="form1" action="">
    2.         <div>
    3.             <label for="name">Enter website</label>
    4.             <input id="name" type="text" name="sitename">
    5.             <input type="submit" value="Get metadata" name="sbutton" id="sbutton" onclick="validate();">
    6.         </div>      
    7.     </form>
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    открой http://www.example.com/ и убедись, существует там метатег такой ?
     
    webxmm нравится это.
  9. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    PHP:
    1. if (isset($_POST['sitename'])){
    2.     if(count($tag['keywords']) == 0)
    3.     {
    4.         echo "<div id='no_keywords'>Keywords not found</div>";
    5.     }
    6.     else
    7.     {
    8.         echo "<div id='title'>List of keywords:</div>";
    9.         echo "<br/>";
    10.         print_r($tag['keywords']);
    11.              
    12.     }
    13. }
    Благодарю вас! Теперь понял. Попробую проверку поставить
     
  10. webxmm

    webxmm Активный пользователь

    С нами с:
    4 мар 2017
    Сообщения:
    133
    Симпатии:
    4
    В продолжении темы с метаданными, подскажите как расшифровать данную строку
    Я просто нашел как выдернуть тайтл страницы, все работает, но я не понимаю эту строку
    PHP:
    1. $data = file_get_contents($url);
    2. $title = preg_match('/<title[^>]*>(.*?)<\/title>/ims', $data, $matches) ? $matches[1] : null;