"Ole Moe" <ojo@ofir.dk> skrev i en meddelelse
news:aui867$e5v$1@sunsite.dk...
> Hej NG
>
> Jeg skal have ereg_replace til at lave følgende linie udfra
> variablen $hp.
>
> <a href="
http://www.somewhere.dk>www.somewhere.dk
>
> Det skal være muligt at indtaste den samme adresse på to måder:
> Både
www.somewhere.dk
> og
http://www.somewhere.dk
> - skal identificeres. Skal jeg vende min if løkke om, så den
> fjerner http://, hvis brugeren har indtastet den del eller findes
> der en anden "smart og oversej" måde jeg kan klare det på med
> ereg_replace?
>
> $hp = "
www.somewhere.dk";
>
> $hp =strtolower($hp);
> if (!ereg("^[[:alpha:]]+://", $hp)) {
> $hp = "http://" . $hp;
> }
> $hp = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
> "<a href=\"\\0\">\\0</a>", $hp);
Så vidt jeg har forstået er dit problem at dit regulære udtryk ikke tager
højde for om brugeren skriver
http://www.xxxxx.xx eller blot
www.xxxxx.xx
Derfor vil du få lavet nogle links der hedder noget alá
http://http://www.xxxxx.xx
Du kan lave en simpel søg og erstat: $hp = str_replace('
http://http://',
'
http://', $hp);
Altså erstatter du to ukorrekte forekomster med én som vil være korrekt.
--
------> END <------
Mikkel Magnus Christensen
barefoot@jaha.dk,
www.startfirma.dk, www.starthotel.dk, www.i-know.dk
------> END <------