#php #regex
#php #регулярное выражение
Вопрос:
я использую такое регулярное выражение $msg = preg_replace('/<b>(w)</b>/', '9999', $msg);
для замены <b>test</b>
, но оно не заменяет. почему?
Комментарии:
1. Вам нужно
w
. В противном случае она соответствует только одной букве в<b>
тегах.
Ответ №1:
Вам не хватает токена количества. Это соответствовало бы только строкам длиной в один символ между <b>
тегами.
$msg = preg_replace('/<b>(w*)</b>/', '9999', $msg);
Ответ №2:
Обратите внимание на плюс после w
$msg = preg_replace('/<b>(w )</b>/', '9999', $msg);
Ответ №3:
Ваше w
не соответствует. Я не нахожу своего руководства по регулярным выражениям прямо сейчас, но использую что-то вроде .*
.
Ответ №4:
попробуйте это
$msg = preg_replace('#<b>(w)*</b>#', '9999', $msg);