eregi_replace() is driving me nuts!!!!
Hej Eksperter!Jeg sidder og laver et nyhedssystem. Til det er der en funktion, som gør, at når man fx skriver "www.hej.dk" bliver det lavet om til et link (først når det skal vises, ikke når man indsætter det i databasen).
Der er imidlertidig det problem, at hvis jeg vil indsætte et billede (det gør jeg med <img src....), så virker det ikke, da funktionen går ind og laver det til et link:
<img src="<A HREF="URL" TARGET="_blank">ULR</A>">
For at lave om på det, har jeg (eller rettere, er jeg ved) lavet en funktion, der skal gøre følgende (men den virker bare ikke :( ):
Følgende (stjernene markere, at her må ALT stå - altså inden for "link-reglerne"):
<img src=\"<A HREF=\" **** \" TARGET=\"_blank\"> *** </A>\">
Det skal erstattes med:
<img src=\" **** \">
Men det virker som sagt ikke...
Her er funktionen:
function link2img($str) {
$str = eregi_replace("<img src=\"<A HREF=\"([[:space:]a-z0-9{()\"'\[~#%@\&:=?\._-])(www.[a-z0-9~#%@\&:=?\/\._-]+[a-z0-9~#%@\&=?\/_-]+)\" TARGET=\"_blank\">([[:space:]a-z0-9{()\"'\[~#%@\&:=?\._-])(www.[a-z0-9~#%@\&:=?\/\._-]+[a-z0-9~#%@\&=?\/_-]+)</A>\">", "<img src=\"\1\">", $str);
return $str;
}
/mikl.dk