Я написал это регулярное выражение :
<span class="icon(.*?)><\/span>
И у меня есть строка:
<p style="text-align: center;"><span style="font-size: 1em;">Text 1 <span style="font-weight: bold;">TEXT 2</span><span style="color: #e67e23; font-size: 1.2em;"><span class="icon x-small icon-play"></span> </span><span style="color: #e03e2d;">Text 3</span> <span style="color: #a68965;">Text 4 </span></span><span style="font-size: 0.7em; color: #000000;">Text 5</span></p>
И я хотел бы удалить все теги из этой строки, кроме тега, полученного из регулярного выражения выше. Итак, я получил бы этот окончательный результат:
Text 1 Text 2<span class="icon x-small icon-play"></span> Text 3 Text 4 Text 5
Как вы можете видеть в этом выводе, все теги были очищены, кроме тега, который я ищу.
Я взглянул на PHP s strip_tags
, но, к сожалению, они не принимают регулярное выражение в качестве второго параметра, поэтому не делают то, что я ищу. Я попытался сделать это с помощью preg_replace
, но мне не удалось создать такое сложное регулярное выражение.
Любая идея о том, как лучше всего это сделать, будь то регулярное выражение или нет ?