Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Frage: "preg replace" für Mod_Rewrite

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
shakur
PostRank 5
PostRank 5
Beiträge: 236
Registriert: 15.04.2005, 09:12

Beitrag von shakur » 15.04.2005, 09:29

Hallo,

ich habe das Forum für meine Website gestern auf Statische Urls umgestellt.

Aus
https://www.domain.de/forums.php?p=1

wurde nun

https://www.domain.de/p1.html

usw...

Hierfür habe ich mir ein Script geschrieben welches ich per include in die einzelnen Seiten integriert habe.

#####################
<?

function replace_for_mod_rewrite(&$s) {
$s = preg_replace("'forums.php\?([a-z]+)=([0-9]+)'", "\\1\\2.html", $s);

return $s;
}

ob_start("replace_for_mod_rewrite");
?>
#####################



Das funktioniert soweit echt super, allerdings habe ich noch 2 Seiten im Forum dessen Links etwas längere Variablen in der URL haben:


https://www.domain.de/posts.php?t=173&c ... p=10&ccp=2


Hier komm ich an meine Grenzen, ich habe schon verschiedene Varianten ausprobiert, aber da ich nur begrenzt PHP Kenntnisse habe bekomm ichs irgendwie nicht hin :(


Es wäre super wenn mir da jemand helfen könnte ;)


Big THANKS!

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

derHund
PostRank 5
PostRank 5
Beiträge: 296
Registriert: 08.01.2005, 14:39

Beitrag von derHund » 15.04.2005, 12:18

du mußt die syntax doch nur sinngemäß fortsetzen ...

https://www.domain.de/posts.php?t=173&c ... p=10&ccp=2

kannst du durch

posts.php\?([a-z]+)=([0-9]+)&([a-z]+)=([0-9]+)&([a-z]+)=([0-9]+)&([a-z]+)=([0-9]+)

beschreiben ... ich weiß nicht, wie deine umgeschriebene url aussehen soll, darum mußt du die selbst basteln - die acht geklammerten teile lassen sich jetzt durch $1 - $8 (\1 - \8 bzw. \\1-\\8) ansprechen. also, von mir aus dann \1\2-\3\4-\5\6-\7\8.html oder ähnlich.

magadoo
PostRank 5
PostRank 5
Beiträge: 257
Registriert: 02.11.2004, 14:14

Beitrag von magadoo » 15.04.2005, 13:29

Als Anmerkung:
Falls reguläre Ausdrücke komplex werden, kann man mit einem netten Tool ein wenig "herumexperimentieren":
https://www.weitz.de/regex-coach/
It shows whether a regular expression matches a particular target string.
It can also show which parts of the target string correspond to captured register groups or to arbitrary parts of the regular expression.
It can "walk" through the target string one match at a time.
It can simulate Perl's split and s/// (substitution) operators.
It tries to describe the regular expression in plain English.
It can show a graphical representation of the regular expression's parse tree.
It can single-step through the matching process as performed by the regex engine.
Everything happens in "real time", i.e. as soon as you make a change somewhere in the application all other parts are instantly updated.