Извлечение названия HTML-страницы
Для решения этой задачи понадобится функция preg_match(), которая осуществляет поиск в строке по регулярному выражению и имеет следующий синтаксис:
Эта функция ищет в строке subject соответствие регулярному выражению pattern. Если задан необязательный параметр matches, то результаты поиска помещаются в массив. Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] — часть строки, соответствующую первым круглым скобкам, $matches[2] — вторым и т.п.
Необязательный флаг $flag может принимать единственное значение PREG_OFFSET_CAPTURE, при указании которого изменяется формат возвращаемого масива $matches — каждое вхождение возвращается в виде массива, в нулевом элементе которого содержится найденная подстрока, а в первом — смещение. Поиск осуществляется слева направо, с начала строки.
Дополнительный параметр offset может быть использован для указания альтернативной начальной позиции для поиска. Функция preg_match() возвращает количество найденных соответствий. Это может быть 0 (совпадения не найдены) и 1, поскольку preg_match() прекращает свою работу после первого найденного совпадения.
$pattern = "|<title>(.*?)</title>|si";
if ( preg_match( $pattern, $content, $out ) ) echo $out[1];
Barmaley:
Спасибо за подсказку! Была аналогичная задача, решал через разбиение строки :). Так намного красивее!
14 Октябрь 2008, 21:40Алексей:
Вот готовое правильное решение, по той причине, что иногда попадаются пробелы в:
27 Март 2009, 18:44$file - переменная из открытого файла.
$title - переменная с чистым заголовком.
preg_match(”#.*?#i”, $file, $match01);
$title=$match01[0];
$title=preg_replace(”##i”, “”, $title);
$title=preg_replace(”##i”, “”, $title);
Aunov:
Да, жаль, что обновления на блоге происходят не так часто, как хотелось бы.
2 Апрель 2009, 12:57FeraS:
Неплохо.
6 Август 2009, 21:22