/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
ereg_replace til link
Fra : Ole Moe


Dato : 27-12-02 20:04

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);

På forhånd tak

Hilsen Ole

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Mikkel Christensen (31-12-2002)
Kommentar
Fra : Mikkel Christensen


Dato : 31-12-02 04:24

"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 <------


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste