Archiv verlassen und diese Seite im Standarddesign anzeigen : auf der suche nach nem regex
feuervogel
03.07.2004, 01:02:30
hallo!
ich bin auf der suche nach einem regex...bei mir hauts als nicht hin...
ich will
www.bla.de
matchen, aber
http://www.blubb.de
oder
ftp://www.blubb.de
nicht!
mein versuch sieht so aus:
$regex = "%(^http://)|(^ftp://)w{3}[.][.-a-zA-Z0-9/]%i";
xabbuh
03.07.2004, 02:51:58
EDIT:
Geht auch mit einem Regex:
$regex='%((^w{3}[.][.a-zA-Z0-9-/]+)|(sw{3}[.][.a-zA-Z0-9-/]+))%i';
$ersatz='<a href="$1">$1</a>';
echo preg_replace($regex, $ersatz, $text);
feuervogel
03.07.2004, 09:53:52
ja, danke, war gestern einfach zu spät...
ist das leerzeichen " " auch im s enthalten?
Progman
03.07.2004, 10:48:41
Original geschrieben von xabbuh
EDIT:
Geht auch mit einem Regex:
$regex='%((^w{3}[.][.a-zA-Z0-9-/]+)|(sw{3}[.][.a-zA-Z0-9-/]+))%i';
$ersatz='<a href="$1">$1</a>';
echo preg_replace($regex, $ersatz, $text);
Wäre folgendes nicht kürzer?
$regex = '%(^|s)w{3}.[a-zd-/.]+%i';
Mal gucken ob das Forum das nicht wieder verunstaltet...
edit: irgendwie ist im forum ein striptslash problem...
xabbuh
03.07.2004, 11:33:03
Original geschrieben von Progman
Wäre folgendes nicht kürzer?
$regex = '%(^|s)w{3}.[a-zd-/.]+%i';
Mal gucken ob das Forum das nicht wieder verunstaltet...
edit: irgendwie ist im forum ein striptslash problem...
Dürfte wohl auch gehen, war wohl gestern ein wenig spät ;-)
xabbuh
03.07.2004, 11:35:05
Original geschrieben von feuervogel
ja, danke, war gestern einfach zu spät...
ist das leerzeichen " " auch im s enthalten?
Ja ist es, siehe tut.php-q.net (http://tut.php-q.net/regex.html):
Das s kommt vom Wort whitespace und matched auf Zeichen, die man auf den ersten Blick nicht sieht. Das sind das Leerzeichen (space, 0x20), der Zeilenumbruch (new line, n = 0x0A), der Wagenrücklauf (carriage return, r = 0x0D), der Seitenvorschub (form feed, f = 0x0C), der Tabulator (t = 0x09) und den Vertikalen Tabulator (vertical tabulator, v = 0x0B). Alle anderen Zeichen werden nicht gematched.
feuervogel
03.07.2004, 12:44:12
ja, nur irgendwie matched der noch nicht so ganz das was ich will...ich probier noch mal etwas rum und melde mich dann...
danke schon mal fürs erste!
feuervogel
03.07.2004, 13:09:43
so, danke für die anregung, das hier funktioniert nun perfekt:
$regex = "%(^|s)w{3}[.]([.a-zA-Z0-9-/]+)%i";
vBulletin® v3.8.3, Copyright ©2000-2024, Jelsoft Enterprises Ltd.