Regex kullanarak html font etiketi değiştirilmesi

0 Cevap php

Ben HTML bir dize <font>-tag (tüm tekrarlarını) değiştirmek istiyorum.

Örnek dizge:

Line1<div><font class="blablabla" color="#33FF33">Line2</font></div><div>Line3

veya:

Line1<div><font color="#33FF33">Line2</font></div><div><font color="#FF3300">Li</font>ne3

Yazı (StartTag) rengiyle değiştirilmesi gerektiğini, böylece biz olsun iki örneklere dayalı:

Line1<div>33FF33Line2</font></div><div>Line3
Line1<div>33FF33Line2</font></div><div>FF3300Li</font>ne3

Ben (: P diğerleri arasında) aşağıdaki denedim:

preg_replace('/<font.*color="#([0-9a-fA-F]){6}">/', '{1}', $string)

Ben doğru yönde olduğumu düşünüyorum, ancak ben henüz çok uzak daha çok yakın gibi düşünüyorum :)

When I use it on the string with only 1 fonttag in it, it removes the font tag (I must have messed something up with the replacement {1}). When I use it on the string with multiple fonttags in it, it does the same. But not only removing the first fonttag but everything from the first fonttag to the next (or last) fonttag.

Tamam.

Sadece bir saniye için HTML kodu ayrıştırma tartışma unutalım.

Ne aşağıdaki metinleri olsaydı:

This colorcode (#333333) is so cool
This colorcode (orange: #ff3300) is way cooler

Ve ben metinleri olmak istedim:

This colorcode 333333 is so cool
This colorcode ff3300 is way cooler

Aynı durum ben görüyorum, yoksa ben şimdi cahil oluyorum olarak?

0 Cevap