Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с регуляркой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 11 Января, 2013 - 22:29:00
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Привет.
Есть такая строчка:
CODE (html):
скопировать код в буфер обмена
  1. <a href="details.php?id=4446&hit=1"><b>123_text_123</b></a>


Ребят, помогите составить регулярку, чтобы вытаскивало id (4446), и название (123_text_123).

Заранее спасибо. Подмигивание
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $text = '<a href="details.php?id=4446&hit=1"><b>123_text_123</b></a>';
  2.  
  3. preg_match('#<a href="details.php?id=(\d+)&hit=1"><b>(.+?)</b></a>#', $text, $result); 
  4.  
  5. print_r($result);
  6.  


Пробую вот так, но результата ноль, где моя ошибка?
 
 Top
spsu
Отправлено: 11 Января, 2013 - 23:09:56
Post Id



Частый гость


Покинул форум
Сообщений всего: 176
Дата рег-ции: Нояб. 2012  


Помог: 3 раз(а)




event пишет:
Привет.
Есть такая строчка:
CODE (html):
скопировать код в буфер обмена
  1. <a href="details.php?id=4446&hit=1"><b>123_text_123</b></a>


Ребят, помогите составить регулярку, чтобы вытаскивало id (4446), и название (123_text_123).

Заранее спасибо. Подмигивание
(Добавление)
PHP:
скопировать код в буфер обмена
  1. $text = '<a href="details.php?id=4446&hit=1"><b>123_text_123</b></a>';
  2.  
  3. preg_match('#<a href="details.php?id=(\d+)&hit=1"><b>(.+?)</b></a>#', $text, $result); 
  4.  
  5. print_r($result);
  6.  

Пробую вот так, но результата ноль, где моя ошибка?

Не экранирован, ?
PHP:
скопировать код в буфер обмена
  1. <a href="details.php\?id=(\d+)&hit=1"><b>(.+?)</b></a>

У меня так заработала.
 
 Top
thesameson
Отправлено: 11 Января, 2013 - 23:14:00
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Окт. 2012  


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match('/^.*id=([0-9]*).*<b>(.*)<\/b>.*$/', $var, $matches);
 
 Top
EuGen Администратор
Отправлено: 11 Января, 2013 - 23:17:06
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. preg_match('/\<a\s+href\="details\.php\?id\=(\d+)\&hit\=[^\"]+"\>\<b\>(.*?)\<\/b\>\<\/a\>/i', $sData, $rgMatches);
  2. //var_dump($rgMatches);

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
event
Отправлено: 12 Января, 2013 - 16:58:08
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Ребят, спасибо !

А как проделать то же самое с этой строкой:
CODE (html):
скопировать код в буфер обмена
  1. <b><a href="details.php?id=3758&hit=1" alt="Игромания №8 [Август 2012]" title="Игромания №8 [Август 2012]">Игромания №8 [Август 2012]</a></b>
, а то я снова пробую не получается. Заранее спасибо !
 
 Top
event
Отправлено: 12 Января, 2013 - 19:38:49
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




хелп, плиз. Огорчение
 
 Top
thesameson
Отправлено: 13 Января, 2013 - 14:42:42
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Окт. 2012  


Помог: 3 раз(а)




event пишет:

А как проделать то же самое с этой строкой:
CODE (html):
скопировать код в буфер обмена
  1. <b><a href="details.php?id=3758&hit=1" alt="Игромания №8 [Август 2012]" title="Игромания №8 [Август 2012]">Игромания №8 [Август 2012]</a></b>

id и содержимое ссылки:
PHP:
скопировать код в буфер обмена
  1.  
  2. preg_match('/^.*id=([0-9]*).*>(.*)<\/a>.*$/', $var, $matches);

id и title:
PHP:
скопировать код в буфер обмена
  1. preg_match('/^.*id=([0-9]*).*title=\"(.*)\".*$/', $var, $matches);

Тут уж смотрите по ситуации, если все ссылки будут с одинаковыми title, alt, текстом, то разницы нет какой вариант использовать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB