Рег. выражения для тупых =(

  • Автор темы Автор темы DoctorD
  • Дата начала Дата начала

DoctorD

Guest
Рег. выражения для тупых =(

Объясните мне как сделать так чтобы выбрать все что лежит
между <b class = price> и </b>

просто дайте код =)
 
Пример:
$content ='<b class = price> some text </b>';
$content = preg_match_all("/<b.*>(.*)<\/b>/",$content, $arr);
print_r($arr);
 
Bosha, что-то твой пример глючит на такой строчке:
PHP:
$content ='<b>a</b>b<b>c</b>d<b>e</b>';
Да и вообще, он больше одного совпадения (последнего) не найдет. Так что загляни в мануал по синтаксису регулярных выражений в РНР http://www.php.net/manual/ru/pcre.pattern.syntax.php и поищи там слово "жадность".
 
Splurov, не стоит отвечать на риторические вопросы с вложенными в них ответами ;)
 
интересно, а откуда граждане задающие риторические вопросы взяли
1 что нужны все совпадения
2 что нужно использовать ограничение жадности

телепаты :)
 
Splurov, прежде чем отвечать на риторические вопросы, проверь свое регулярное выражение. Оно находит то же самое, что и выражение, предложенное Bosha, т.е. последнее совпадение.

интересно, а откуда граждане задающие риторические вопросы взяли
1 что нужны все совпадения
2 что нужно использовать ограничение жадности

телепаты
Да, похоже, тут все, кроме тебя, телепаты :) Еще раз перечитал вопрос. Если понимать его буквально, то нужно такое выражение:
PHP:
$content = '<b class = price>cut me</b>';
$content = preg_replace('/^<b class = price>(.*)<\\/b>$/', '\\1', $content);
 
valyala, replace не канает - ему выбрать надо ;)
PS: хотя кто его знает, что он имел в виду и зачем оно ему понадобилось, а так же чем его не устраивали строковые функции...
 
Сверху