Mit regulären Ausdruck "preg_replace" HTML Tags ersetzen ?!
Daniel Z.
- php
0 Joachim
Hi Forumvolk,
habe moechte mit regulären Ausdruck "preg_replace"
folgendes anstellen...
$file = "beliebiger HTML Code bzw. Text";
$alt = array("/<span class="head">/", "/</span>/" );
$neu = array("<headline>", "</headline>");
$file = preg_replace($neu, $alt, $file);
... leider bekomme ich immer den Fehler "No ending delimiter found".
Was mache ich falsch?
Gruss Daniel
hi,
hmm, das sieht nach Denkfehler aus, denn...
$file = "beliebiger HTML Code bzw. Text";
$alt = array("/<span class="head">/", "/</span>/" );
$neu = array("<headline>", "</headline>");
$file = preg_replace($neu, $alt, $file);
... $neu = array, ebenso wie $alt = array - also kein string oder regExpr der ersetzt werden kann.
vielleicht so:
$alt = array("<span class="head">", "</span>" );
$neu = array("<headline>", "</headline>");
$file = str_replace($alt[0], $neu[0], $file);
$file = str_replace($alt[1], $neu[1], $file);
ungetestet. Hth
Gruesse Joachim
Moin
hmm, das sieht nach Denkfehler aus, denn...
Das ist schon in Ordnung so. PHP erlaubt explizit Arrays und betrachtet die regulären Ausdrücke dann automatisch paarweise.
Dein Code müsste trotzdem funktionieren, aber aus einem anderen Grund:
$file = preg_replace($neu, $alt, $file);
^^^^ ^^^^
$file = preg_replace($alt[0], $neu[0], $file);
^^^^ ^^^^
Wenn Daniel es so macht, funktioniert es auch mit Arrays:
$file = 'beliebiger HTML Code bzw. Text';
$alt = array('/<span class="head">/', '/</span>/' );
$neu = array('<headline>', '</headline>');
$file = preg_replace($alt, $neu, $file);
(getestet)
--
Henryk Plötz
Grüße von der Ostsee
moin,
Das ist schon in Ordnung so. PHP erlaubt explizit Arrays und betrachtet die regulären Ausdrücke dann automatisch paarweise.
cool, wusste ich nicht. Danke fuer den Tipp.
Gruesse Joachim
Hi Henryk Plötz,
tausend Dank und viele Gruesse aus Koeln!
Gruss Daniel Z.
Wenn Daniel es so macht, funktioniert es auch mit Arrays:
$file = 'beliebiger HTML Code bzw. Text';
$alt = array('/<span class="head">/', '/</span>/' );
$neu = array('<headline>', '</headline>');
$file = preg_replace($alt, $neu, $file);
Henryk Plötz
Grüße von der Ostsee