Подскажите пож. как парсить данные из meta, например discription. как получить title я разобрался, там проще есть теги открывающий и закрывающий PHP: $html = implode("", file($url)); if (eregi ('<title>(.*)</title>', $html, $out_t)) { echo trim($out_t); }
я примерно представляю в какую строну двигаться, надо писать регулярное выражение и по шаблону выбирать нужные данные с помощью функции preg_match_all Правильно?
А так Код (Text): <title>.фывафывафыва фы вфы вфы в <title>ф ывафыа</title> ф ывафыва</title> что он берет?
в общем вот таким способом можно получить discription PHP: preg_match_all('[<meta name="description" content="(.*)" />]', $html, $out_d); $description = $out_d[1][0];
Я это делаю так: PHP: <?php /** * Возвращает требуемую мету из текста. * * @param string $meta Какую мету брать. * @param bool $all Брать все меты или только одну. * @return mixed Строка с метой или массив с метами. */ public function getMeta($meta, $all=true){ if(!$this->metaHead){ $this->setMetaTexts(); } $rez=''; $pattern="#<meta(?:\s*)name=$meta content='(.*?)'>#is"; if ($all){ $haveSome = preg_match_all($pattern, $this->metaHead, $matches); }else{ $haveSome = preg_match($pattern, $this->metaHead, $matches); } $rez = ($haveSome) ? $matches[1] : ""; return $rez; }