phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?B?UmVndWzkcmVuIGF1c2RydWNrIG9wdGltaWVyZW4=?=

[php] Regulären ausdruck optimieren

Georg Weihrauch php_(at)_phpcenter.de
Wed, 26 Jun 2002 11:49:29 +0200


Guten Tag ,

Hi Folgende Reguläre Ausdrücke sollen automatisch Links erzeugen.
Dabei gibts 2 Fälle.
Eingabe:
http://www.powermetal.de
oder
[Powermetal]http://www.powermetal.de
ersterer ausdruck soll nun als Linktext die URL anzeigen. Zweiterer
den text der in der Klammer steht. dabei sollen innerhalb der Klammer
alle möglichen Zeichen erlaubt sein.

eigentlich wollte ich den ersten ausdruck so gestalten daß ich vor dem
http nur das ] zeichen verbiete als \]{0} leider hat dies nicht
funktioniert. Und bekomme ich bei dem zweiten replace hin, daß ich
nicht so viele Zeichen aufzählen muß um alle eventualitäten
abzudecken? sowas wie :alnum: nur nicht nur alphabet sondern auch
spaces und sonderzeichen?


function makeLink($var) {
   $val = eregi_replace("[[:space:].\n]([[:alpha:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
"<a href=\"\\1://\\2\\3\"   target=\"_new\">\\1://\\2\\3</a>", $var);

   $val = 
eregi_replace("\[([[:alnum:].\?§&!%&/\(\)[:space:]]+)\]([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])",
"<a href=\"\\2://\\3\\4\"   target=\"_new\">\\1</a>", $val);

 return($val);
}

-- 
Mit freundlichen Grüssen
Georg Weihrauch                          
mailto:Georg.Weihrauch_(at)_lka.bwl.de


php::bar PHP Wiki   -   Listenarchive