AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Probleme mit regulärem Ausdruck
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP] Probleme mit regulärem Ausdruck

Ein Thema von Matze · begonnen am 14. Mai 2006 · letzter Beitrag vom 14. Mai 2006
Antwort Antwort
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 15:44
Hallo zusammen,

ich habe folgenden regulären Ausdruck, der mir aus URLs wie http://www.foo.de/index.php?page=news&lang=de solche erzeugt http://www.foo.de/de/news.html, besser gesagt, erzeugen soll. Ich erhalte immer 2 Mal hintereinander den vituellen Ordner "de": http://www.foo.de/de/de/news.html.

Code:
$url_in = array(
    "'(?<!/)index.php\?page=([a-z]*?)&(?:amp;)?lang=([a-z]+)'"
);

$url_out = array(
    '\\2/\\1.html'
);

return preg_replace($url_in, $url_out, $code);
Sieht jemand von euch den Fehler?


Edit: Im Titel "regülärem" korrigiert. ^^

Edit: Thorben wollte unbedingt ein "[PHP]" im Titel.
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 16:24
Ist nur ne Kleinigkeit. Ich hab da mal was vorbereitet : siehe hier
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#3

Re: Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 18:11
Setz doch noch ein "PHP" in den Titel, dann erkennt man auch gleich, worum's hier geht .
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: [PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 20:01
Moin

@cruiser: Vielen Dank, es lag lediglich an einem Slash, der fehlte. Ohje, da hätte ich den Fehler zuletzt gesucht. Nun geht's.

Falls der Link mal nicht mehr existieren sollte, für die anderen, so muss es lauten:

Code:
$url_out = array(
    '/\\2/\\1.html'
);

Edit: Hm, geht doch nicht so ganz. Wenn ich's komplett so mache, wie in deinem Demo-Skript:

Code:
$url_in = array(
    "'/index\.php\?page=([a-z]*?)&(?:amp;)?lang=([a-z]+)'"
);

$url_out = array(
    '/\\2/\\1.html'
);
Dann erhalte ich diese URLs: http://.../pfad/index.php?page=news&ang=de, lasse ich den Slash vor "index" weg, sieht es so aus: http://.../de/news.html. Also da stimmt dann der Pfad nicht ganz (Die Seite befindet sich in http://.../pfad/).
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: [PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 20:23
Dann musst du das komplette http mit reinnehmen... und parsen..

habs mal angepasst: click me
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 21:03
Hi

Sehr komisch, online funktioniert dein Skript bei mir wunderbar, lokal überhaupt nicht. Also online scheint das zu kpappen, aber ich möchte das ja nicht immer online testen müssen. Und an Win kann es eigentlich ja auch nicht liegen. Lokal habe ich php5, online 4, aber das dürfte ja auch nichts ausmachen.

Edit: Ich hatte nur relative Pfade angegeben. Es geht alles, herzlichen Dank.

Für die anderen:


Code:
$url_in = array(
    "'([url]http://.*?/[/url])index\.php\?page=([a-z]*?)&(?:amp;)?lang=([a-z]+)'"
);

$url_out = array(
    '\\1\\3/\\2.html'
);
  Mit Zitat antworten Zitat
Benutzerbild von cruiser
cruiser

Registriert seit: 23. Dez 2003
Ort: Königsbrück/Sachsen
455 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: [PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 21:16
Aber windoof + PHP in Kombination kann einige Macken produzieren... würde mich NICH wundern, wenn da was hakt
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: [PHP] Probleme mit regulärem Ausdruck

  Alt 14. Mai 2006, 21:17
Zitat von cruiser:
Aber windoof + PHP in Kombination kann einige Macken produzieren... würde mich NICH wundern, wenn da was hakt
Nein, sonst funktioniert alles bestens, danke nochmals.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz