PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : letzten Tag finden


stefanDer2te
09.01.2008, 17:29
Hallo,

ich möchte in PHP folgendes mit preg_replace ersetzen:

Und zwar will ich den letzten Tag zwischen <a> finden, in dem Beispiel wäre das der Text bei <b> "Text1":
<a href="" scr=""><i><b>Text1</b>Text2</i></a>

Ich weiß nicht, wieviele Tags in <a> noch sind oder welche es sind. Ich möchte nur diesen Text1 durch einen anderen ersetzen.

Liebe grüße,
Stefan


Firefall
09.01.2008, 17:44
<a.*>(<(.*)>(.*)</\2>)</a>
Ev. musst du <, > und / escapen. Im dritten Submatch findest du, was du suchst. Hoffe die Syntax passt für PHP...

stefanDer2te
11.01.2008, 08:08
Hi,

danke für deine Antwort!

Also ich habe dein Code geringfügig geändert. Nun will ich das gleiche mit Body machen, aber er ersetzt mir aber dann komplett alles!?
Weiterhin soll er diesmal nicht die tags i, u, und b berücksichtigen.

Momentan sieht so mein Code aus:

$inhalt = preg_replace('#.*<body.*>.*(<(.*)>)(.*)(</\2>).*#', '\3', $html);
$inhalt = str_replace($inhalt, "HIER", $html);


Kannst du oder jemand anders den Fehler finden?

Liebe grüßen
Stefan