Avatar billede straszek Praktikant
27. september 2003 - 18:26 Der er 1 løsning

Problemer med eregi_replace

Jeg bruger nedestående funktion til at læse en tekst igennem, lave mellemrum maito osv. Jeg har fornylig fået hjælp til at tilpasse den således at hvis der i teksten står <bil.jpg align=left>, så bliver dette lavet om til et korrekt tag <img src=grafik/bil.jpg align=left>

Men det konflikter hvis der i samme tekst er en mail adresse eller andet der begynder med <, så forsøger funktionen at lave mailadressen om til et billede, som naturligvis ikke findes

Er der nogen der kan give en hjælpende hånd?

Funktionen:
<?

function string_tagster($str) {

        $str = " ".$str." ";

        $str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])((ftp|http|https|telnet|news|nttp|nntp|file):\/\/[a-z0-9~#%@¾¿Œ\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@¾¿Œ\&:;,=\?\/_\+-])+)", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $str);

        $str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])(www\.[a-z0-9~#%@¾¿Œ\&\(\):;=\?\/\.,_-]+(\\[|\\]|[a-z0-9~#%@¾¿Œ\&:;,=\?\/_\+-])+)", "\\1<a href=\"http://\\2\" target=\"_top\">\\2</a>", $str);

        $str = eregi_replace("([[:space:]{()\"'\[~#=;\&?\_-])([_\.0-9a-z-]+@([_\.0-9a-z-]+)+\.[a-z]{2,4})","\\1<a href=\"mailto:\\2\">\\2</a>", $str);

        $str = preg_replace("/<([^ ]+) *([^ ]+)>/", "<img src=resize_image.php?image=/web/www.sktjohannes.dk/www/nygrafik/$1 $2 hspace=10 vspace=10>", $str);

        return substr($str, 1);

    }



    function format_post2 ($str) {

        $str = stripslashes($str);

        $str = string_tagster($str);

        $str = str_replace("  ", "&nbsp; ", $str);

        $str = str_replace("\t", "&nbsp;&nbsp;&nbsp;&nbsp;", $str);

        $str = str_replace("\r", "", $str);

        $str = str_replace("\n", "<br>", $str);

       

        return $str;

    }

?>
Avatar billede straszek Praktikant
18. oktober 2003 - 14:21 #1
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester