[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Парсер текста
Zzepish
100 лет ничего не писал (ибо был занят), а сейчас захотел написать простой парсер, и обломался.
Как вытягиваем между тегами текст?
Я вот пишу: preg_match('/<title>(.*)<\/title>/')- все хорошо, но мне надо то, что между title, без самого title.
Как организовать?
inpost
3 параметр - matches, то есть после preg_match появится массив, в нём будет то, что ты положил в кармашек. Карман - это скобки. Пропиши переменную как 3-ий аргумент и работай с ней.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
rooor
если preg_match('/<title>(.*)<\/title>/', $str, out), то echo $out[1]
а ещё есть strip_tags()
Zzepish
inpost

$url='http://phpforum.ru';

$get=file_get_contents($url);

preg_match_all('/<title>(.*)<\/title>/ui',$get,$array);

echo var_dump($array,1);

Написал такое. Выдает :
array(1) { [0]=> array(0) { } } int(1)

rooor
strip_tags() не катит! Вдруг в тексте будет запись типа : <какая-то запись>!
Ведь title это для примера
inpost
Zzepish
Давай говорить об одной важной детали... ты написал модификатор u, почему? smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
inpost
потому-что UTF-8? ТЕкст может же быть (точнее- есть в такой кодировке).
Zzepish
inpost
ты не поверишь- убрал его, и все заработало! Как так О_О


АААА. Тут кодировка сайта не utf-8)))))
inpost
Zzepish
iconv, конвертация текста, если его выдернул с другого сайта, где кодировка не такая, как у тебя.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
inpost
Я могу определить кодировку на чужом сайте?
inpost
Zzepish
Вряд ли, хотя можешь в meta данных смотреть, обычно там указывается кодировка. То есть сначала мета-данные парсить. Есть функция по определению кодировки, но она что-то не особо работает, по крайней мере так писали давно на форуме.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
inpost
ага, значит просто не получится) ок) благодарю)
Zzepish
inpost
Что там его писать))))
Вот тебе рабочая версия с преобразованием кодировки)))
Норм?

$url='http://phpforum.ru';

$get=file_get_contents($url);

preg_match('/charset=[^\s\'"]+/',$get,$grab_charset);

$charset=str_replace('charset=','',$grab_charset[0]);

/////////echo $grab_charset[0].'<br />';
////////echo $charset.'
<br />';



$get=iconv((string)$charset,'UTF-8',$get);

preg_match_all('/<title>(.*)<\/title>/ui',$get,$array);

////echo var_dump($array,1);

foreach($array[1] as $val){

echo $val.'<br />';

}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.