Visa ett inlägg
Oläst 2006-12-01, 23:32 #2
Charlie Charlie är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2004
Inlägg: 701
Charlie Charlie är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2004
Inlägg: 701
Du behöver inte använda regexp för det. Det är onödigt resurskrävande i just det här fallet. Pröva

$url = "www.wn.se";
if( strpos( $url, "http://" ) === 0 ) {
// Strängen börjar på http://, gör inget
}
else
{
$url = "http://" . $url;
}

Kanske kan vara värt att lägga en trim($url); för att få bort eventuella mellanrum ibörjan.

Edit: Visst kan if-satsen göras kortare men ibland kan det vara snyggt med tydlighet

Edit2: Läste inte ditt inlägg ordentligt. Mitt i en text var det alltså. Är lite osäker på den här typen av regexp, lookbehinds osv, men prova något i stil med:
$text = preg_replace("#(?<=http://)www.#s", "http://www.", $text);
Charlie är inte uppkopplad   Svara med citatSvara med citat