PHP заменяет все вхождения определенного строкового шаблона в формате HTML - PullRequest
1 голос
/ 24 февраля 2012

У меня есть вводимый текст, который может быть длинным текстом HTML с тегами и так далее.Пример ввода может быть что-то вроде:

<p>Lorem ipsum dolor sit amet, <strong>consectetur</strong> adipiscing elit.<p>
<p>%image1%</p>
<h2>Lorem ipsum</h2>
<p>Cum sociis natoque penatibus et magnis dis parturient montes.</p>
<p>%image2%</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>
<p>%image3%</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>
...

Какой самый простой способ найти все вхождения текста между %% символами и заменить его на <img src="image1.jpg">?

Ответы [ 3 ]

1 голос
/ 24 февраля 2012

попробуйте использовать preg_replace ('/%(.+?)%/', '<img src="image1.jpg">', $string); Я мог бы быть немного не согласен с шаблоном регулярных выражений, так как вам скорее нужно избегать%, а если?это жадный символ.

0 голосов
/ 24 февраля 2012
preg_replace('|%(.+)%|', '<img src="$1">', $text );

рабочий пример: http://codepad.org/20Oz3Vok

0 голосов
/ 24 февраля 2012

Попробуйте это:

preg_replace('|%(\w+)%|', '<img src="$1">', $string);

Это позволит использовать только буквенно-цифровые символы, а также подчеркивания (чтобы предотвратить проблему, указанную @AlexanderVarwijk в комментариях).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...