[GastForen Programmierung/Entwicklung PHP und MySQL erg_replace

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

erg_replace

Baschi3
Beiträge gesamt: 294

30. Mär 2003, 21:06
Beitrag # 1 von 3
Bewertung:
(880 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo

Ich möchte alle Links von einem in Formular einegebenen Text in anclickbare Links umwandeln mit folgendem Code:

$footer = ereg_replace("(http://|ftp://)([a-zA-Z1-9\.\-\/]*)","<a class=\"normal\" href=\"\\1\\2\">\\2</a>",$str);

klappt in der Regel, aber bei http://www.sp-ps.ch wird nur www.sp zwischen den a-Tag gesetzt.
Kann mir jemand sagen warum?

Danke
X

erg_replace

Miro Dietiker
Beiträge gesamt: 699

30. Mär 2003, 21:25
Beitrag # 2 von 3
Beitrag ID: #29816
Bewertung:
(880 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Baschi!

Ich habe keine Dokumentation welche 100% auf die Unterschiede zwischen
ereg und preg eingeht. Da preg mehr verbreitet ist und auch schneller
rate ich auch eher diese zu nutzen. Leider gibt es aber in der Muster-
definierung einige Unterschiede, so dass man genau wissen muss, wie
man diese Muster wirklich definiert / übernimmt.

Konkret dein Problem:
ereg macht hier etwas unvorhergesehenes (für mich) denn das "\-" im
ausdruck wird nicht richtig erkannt als Pattern. Interessant hierbei
ist, dass das Problem erledigt ist, wenn man \- ans Ende der Muster-
definition nimme. Ich empfehle es entsprechend zu ändern und es ist
OK ;)

also ändern zu:
$footer = ereg_replace("(http://|ftp://)([a-zA-Z1-9\.\/\-]*)","<a class=\"normal\" href=\"\\1\\2\">\\2</a>",$str);

*smile* interessant... denn nach meiner definition müsste auch Deine
Variante wirklich ok sein :) aber die \- scheinen am Ende von
Charakter-klassen stehen zu müssen .)

Hope It works... Miro Dietiker


als Antwort auf: [#29815]

erg_replace

Baschi3
Beiträge gesamt: 294

30. Mär 2003, 21:41
Beitrag # 3 von 3
Beitrag ID: #29819
Bewertung:
(880 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Miro,

super!!! vielen Dank.

Aber dass die Reihenfolge eine Rolle spielt?
Sachen gibts!

Franz


als Antwort auf: [#29815]