phpbar.de logo

Mailinglisten-Archive

[php] Regex Problem: Tag mit Classe ersetzen

[php] Regex Problem: Tag mit Classe ersetzen

Alex Emken php at emken.com
Mon Mai 3 17:01:22 CEST 2004


Stefan Brueckmann wrote:
> Hallo,
> 
> ich möchte 
> 
> <p class="headline">[beliebiger Text]</p>
> 
> ersetzen durch: 
> 
> <h1>[beliebiger Text]</h1>
> 
> Dabei ist zu beachten das es noch andere p element mit anderen Classen 
> gibt. die nicht zu Headlines werden sollen.
> 
> Das Erkennen ist ja nicht so schlimm aber wie bekomme ich den 
> Beliebien Txt wieder in die Ausgabe?
> 
> preg_replace("°\[<p class=\"headline\">](.*?)\[/p\]°", "<h1>\
> und dann verließen sie Ihn :-(
> 
> Ade merci
> Stefan Brückmann

Hey Stefan.

"Back Reference" heisst das Zauberwort.

<code>
   $str = '<p class="headline">blubb</p>';
   $str = preg_replace('°<p class="headline">(.*?)</p>°is',
		      '<h1>\1</h1>', $str);
   echo $str;
</code>

Einfach ein \1 in den "ersetzten" String, und das erste Teilmuster wird 
wieder eingefügt.

Viele Grüße,
Alex

php::bar PHP Wiki   -   Listenarchive