preg_replace hilfe

Nancy L Henderson

Angesehenes Mitglied
Hallo,

ich würde gerne alle meine Urls die auf ?forum-xyz

enden umschreiben in:

forum-xyz.html

Leider war ich nicht konsequent und habe teilweise auch:

?forum-xyz=0&x=z

benutzt...

Für das erste Beispiel funktioniert der folgende Ausdruck probleml los:
CODE
$content = preg_replace ("/\"\?([^\"#]*)/si","\"\\1.html",$content);



Für das zweite aber nicht. Hier möchte ich zusätzlich sagen können: Wandel die Url in .html um, aber nur wenn in ihr kein Zeichen wie z.B. '&' oder '=' vorkommt.
Ist soetwas überhaupt möglich und wenn ja wie
wink.gif
... vielen Dank!


 
habs mehr oder weniger selber raus gefunden wies für mich am besten geht:

CODE
<?php
$c = preg_replace ('%href=\"\?([^\"]+)\"%Uis',"href=\"index.php?\\1\"",$c);
$c = preg_replace ('%href=\"index.php\?([-a-z0-9A-Z]+)#([a-zA-Z0-9]+)\">%Uis',"href=\"\\1.html#\\2\">",$c);
$c = preg_replace ('%href=\"index.php\?([-a-z0-9A-Z]+)\">%Uis',"href=\"\\1.html\">",$c);
?>



1 alle auf index.php schreiben...
2. alle mit # nehmen damit die ausnahme richtig behandelt wird
3. alle andere was trifft umschreiben.

funktioniert bis jetzt recht gut.
 
Zurück
Oben