Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2012, 14:08   #1
helldog
Пользователь
 
Аватар для helldog
 
Регистрация: 19.04.2009
Сообщений: 47
По умолчанию проблема с регуляркой

Помогите пожалуйста разобратся, немогу понять почему ненаходит текст в html коде сайта. Пример кода на который должен быть найден:
Код HTML:
<tr><td colspan="4"><img width="1" height="5" src="/pic/tr.gif"></td></tr>


              <tr valign="top">
                <td colspan="4"><a href="/cgi-bin/show.pl?option=info&id=3987" class="link">Zолушка (Digital)</a></td>
              </tr>
              <tr><td colspan="4"><img width="1" height="5" src="/pic/tr.gif"></td></tr>
вот код который я пишу для поиска :
Код HTML:
<? $content = file_get_contents("http://www.karofilm.ru/cgi-bin/show.pl?option=cinema_description&id=9");
 if (preg_match_all("/(<tr valign=\"top\">\s*<td colspan=\"4\"><a href=\/cgi-bin\/show\.pl\?option=info\&id=).*(<\/a><\/td>)/s",$content,$text)){
	 
print "текст найден";}
else  { echo 'Текст не найден';};

?>
<table><tr><td><? print_r($text); ?></td></tr>
</table>
Но какаято проблема с \s* , по тому как выборка идет только с <tr valign="top"> ,а дальше нет, помогите найти ошибку (
helldog вне форума Ответить с цитированием
Старый 23.02.2012, 14:37   #2
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Потому что после <tr valign=\"top\"> идет перевод строки, а не пробельный символ.
snikers987 вне форума Ответить с цитированием
Старый 23.02.2012, 15:40   #3
helldog
Пользователь
 
Аватар для helldog
 
Регистрация: 19.04.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
Потому что после <tr valign=\"top\"> идет перевод строки, а не пробельный символ.
а разве в \s невходит символ перевода строки? и как он он пишется если невходит?
helldog вне форума Ответить с цитированием
Старый 23.02.2012, 16:35   #4
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Вообще перевод строки \n , не знали? о_О
Вам нужно вытянуть анкор ссылки?
PHP код:
preg_match_all("#<td colspan=\"4\"><a href=\"/cgi-bin/show\.pl\?option\=info\&id=[\d]+\" class=\"link\">(.*)</a>#isUu"$sContent,  $rgMatches);
//var_dump($rgMatches); 
Примерно так, если текст не в юникоде уберите модификатор u

ЗЫ. \s - любой пробельный символ

Последний раз редактировалось snikers987; 23.02.2012 в 16:39.
snikers987 вне форума Ответить с цитированием
Старый 23.02.2012, 20:04   #5
helldog
Пользователь
 
Аватар для helldog
 
Регистрация: 19.04.2009
Сообщений: 47
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
Вообще перевод строки \n , не знали? о_О
Вам нужно вытянуть анкор ссылки?
PHP код:
preg_match_all("#<td colspan=\"4\"><a href=\"/cgi-bin/show\.pl\?option\=info\&id=[\d]+\" class=\"link\">(.*)</a>#isUu"$sContent,  $rgMatches);
//var_dump($rgMatches); 
Примерно так, если текст не в юникоде уберите модификатор u

ЗЫ. \s - любой пробельный символ
ааа=))) я думал для регулярок там какойт другой, просто я подставлял перевод строки и никакого результата, мне нужно написать граббер, чтобы тянул с сайта инфу и выводил на моем сайте. Чтот невстречал в литературе о регулярках # метасимвол...., я просто недавно начал изучать пхп.
helldog вне форума Ответить с цитированием
Старый 23.02.2012, 20:23   #6
helldog
Пользователь
 
Аватар для helldog
 
Регистрация: 19.04.2009
Сообщений: 47
По умолчанию

нет, не работает(((
helldog вне форума Ответить с цитированием
Старый 24.02.2012, 04:47   #7
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Если открыть в ручную эту страницу с золушкой и поискать там вот это "<td colspan="4"><a href=" то результатов 0 . Вот почему не находит. Потому что там этого просто нету ! имхо
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Старый 24.02.2012, 13:21   #8
helldog
Пользователь
 
Аватар для helldog
 
Регистрация: 19.04.2009
Сообщений: 47
По умолчанию

прочто прочтите еще раз выше, "<td colspan=\"4\"><a href=\" , так непробывали?
З.Ы. = ПРи ручном поиске в браузере тоже находит, в моем гугл хромк это 314 строка

з.ы.ы: мне нужно найти именно с <tr valign="top">
<td colspan="4"><a href= потому как немогу понять почему неработает перевод строки, я даже пробывал \n\s* между <tr valign="top"> и <td colspan=" , серовног ненаходит((((( может всетаки ктонить знает как это реализовать?

Последний раз редактировалось helldog; 24.02.2012 в 13:31.
helldog вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятки с регуляркой buket C# (си шарп) 1 17.12.2011 13:23
проблема с регуляркой designer999 Общие вопросы Delphi 1 10.12.2010 00:37
Выделить из строки нужное- регуляркой MyIE JavaScript, Ajax 2 11.08.2010 12:11
Помогите с регуляркой Maxouni PHP 2 07.05.2009 21:14
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37