Я знаю, как использовать str_replace для простых задач, например …
$Header = str_replace('<h2>Animals</h2>', '<h3>Animals</h3>', $Header);
Но представьте статью, хранящуюся в базе данных, которая включает следующие заголовки:
<h3>Animals</h3> <h3>Plants</h3>
И вы хотите изменить их на это:
<h3><span class="One">Animals</span></h3> <h3><span class="One">Plants</span></h3>
Есть ли способ превратить значение между тегами (например, Животные, Растения, Минералы и т. Д.) В дикую карту, что-то вроде этого ?:
$Title = str_replace('<h3>*</h3>', '<h3><span style="One">*</span></h3>', $Title);
Или я должен спросить: «Каков наилучший способ?» Похоже, есть способы сделать это, но я хотел бы попытаться найти простое PHP-решение, прежде чем начинать борьбу с регулярными выражениями.
Вы можете использовать метод str_replace (), который был предложен в первичных комментариях, но я считаю, что preg_replace () с использованием регулярных выражений является наилучшей практикой для подстановочных замен.
<?php $str = <<<EOD <h3>Animals</h3> <h3>Plants</h3> EOD; $str = preg_replace('/<h3>(.*?)<\/h3>/', '<h3><span class="One">$1</span></h3>', $str); echo $str;