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
Форумы портала PHP.SU :: Версия для печати :: Доступ к тегу внутри тега
Форумы портала PHP.SU » PHP » Регулярные выражения » Доступ к тегу внутри тега

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

1. vetrov_al - 23 Января, 2015 - 18:32:14 - перейти к сообщению
Друзья помогите решить вопрос

есть вот такое регулярное выражение

preg_match_all('#<span class="price">(.+?)</span>#is', $convertedText, $arr);

и оно получает значения из тега "price" , проблема вот в чем нужно чтобы это выражение получало значения только из тега <font>, в общем строчка выглядит вот так

<span class="price"><strike>51 600руб</strike><font>47 677руб</font></span>

Как правильно составить регулярку??
2. IllusionMH - 23 Января, 2015 - 18:50:07 - перейти к сообщению
vetrov_al, вероятно нужно все это обернуть во font и добавить возможность наличия сомволов между ними.
PHP:
скопировать код в буфер обмена
  1. preg_match_all('#<span class="price">.*?<font>(.+?)</font>.*?</span>#is', $convertedText, $arr);
3. vetrov_al - 23 Января, 2015 - 18:59:56 - перейти к сообщению
IllusionMH спасибо но почему то не работает выдает и то что в теге font и то что в теге strike
4. teddy - 23 Января, 2015 - 19:14:22 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. preg_match('#<font>(.*?)</font>#', $convertedText, $arr)
5. vetrov_al - 23 Января, 2015 - 19:33:15 - перейти к сообщению
Всем спасибо проблема решена, я тут немного запутался с вложениями массивов поэтому и не получалось ...
6. andatr - 25 Января, 2015 - 13:40:59 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. <span class="price">(?:(?:.+?)?<font>)(((?!<\/font).)+)


За счет опережающей проверки будет работать быстрее, если строка вида
CODE (html):
скопировать код в буфер обмена
  1. <span class="price"><strike>51 600руб</strike><font>47 677руб</font><strike>51 600руб</strike></span>

 

Powered by ExBB FM 1.0 RC1