Я бы хотел заменить (все вхождения) HTML <font>
-tag в строке.Замена тега шрифта html с помощью regex
Пример строки:
Line1<div><font class="blablabla" color="#33FF33">Line2</font></div><div>Line3
или:
Line1<div><font color="#33FF33">Line2</font></div><div><font color="#FF3300">Li</font>ne3
Шрифт (STARTTAG) следует заменить на цвет, так что на основании этих двух примеров мы получаем:
Line1<div>33FF33Line2</font></div><div>Line3
Line1<div>33FF33Line2</font></div><div>FF3300Li</font>ne3
Я пробовал следующее (среди прочего: P):
preg_replace('/<font.*color="#([0-9a-fA-F]){6}">/', '{1}', $string)
Я думаю, что я нахожусь в правильном направлении, однако я думаю, что это больше похоже на так близко еще так далеко :)
Когда я использую его на строку только с 1 fonttag в нем, он удаляет тег шрифта (я, должно быть, что-то перепутал с заменой {1}). Когда я использую его в строке с несколькими шрифтами в нем, он делает то же самое. Но не только удаление первого шрифта, но и всего от первого шрифта до следующего (или последнего) шрифта.
Хорошо.
Давайте просто забудем об обсуждении разбора HTML-кода в течение секунды.
Что делать, если у меня были следующие тексты:
This colorcode (#333333) is so cool
This colorcode (orange: #ff3300) is way cooler
И я хотел тексты стать:
This colorcode 333333 is so cool
This colorcode ff3300 is way cooler
Такая же ситуация, как я понимаю, или я не разумея сейчас?
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –
возможный дубликат [Regex для выборочной зачистки HTML] (http://stackoverflow.com/questions/4393129/regex-for-selective-stripping-of-html) –
, пожалуйста, пожалуйста, не пытайтесь анализировать HTML с регулярным выражением или наступают пони ... http://simplehtmldom.sourceforge.net/ –