function bbcode($t) {
global $skin_dir;
$t=eregi_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]','<img src="\0" border="0" width="60"> <a href="info.php?
reason=link" onclick="window.open(\'\\0\');return false">\\0 </a>',$t) ;
das was fett geschrieben ist habe ich eingefügt
möchte aber das nur bild angezeigt wird wenn in der url (\0) .jpg ,gif, bmp drin ist wenn ich eine standart url eingebe wird sonst auch ein x bild angezeigt
Brauche hilfe für bildanzeige
-
-
1. Nich global verweden
2. WarnungDiese Funktion ist seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese Funktion zu verlassen ist in keiner Weise empfehlenswert
3. Was soll die Funktion den genau machen?
-
es ist ein chat wenn ich im eingabefenster eine url eingebe kann ich sie anklicken ich möchte aber das bei bildern das bild angezeigt wird
der komplette code siht so aus:
PHP
Alles anzeigenfunction bbcode($t) { global $skin_dir; $t=eregi_replace('[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]','[B]<img src="\0" border="0" width="30">[/B] <a href="info.php? reason=link" onclick="window.open(\'\\0\');return false">\\0 </a>',$t) ; $t=eregi_replace("\[b\]","<b>",$t); $t=eregi_replace("\[/b\]","</b>",$t); $t=eregi_replace("\[u\]","<u>",$t); $t=eregi_replace("\[/u\]","</u>",$t); $t=eregi_replace("\[i\]","<i>",$t); $t=eregi_replace("\[/i\]","</i>",$t); $t=eregi_replace("\[/c\]","</span>",$t); $t=eregi_replace("\[c=([[:alnum:]#()\, ]+)\]","<span style=\"color:\\1\">",$t); include $skin_dir.'/smilies.inc'; $emoticons=array_merge($emoticons,$aliases); for($i=0;$i<count($emoticons);$i++){ $row=explode(' ',$emoticons[$i]); $t=str_replace($row[0],"<img src=\"$skin_dir/smilies/$row[1]\" title=\"$row[0]\" alt=\"$row[0]\" />",$t); } return $t;}
-
Verwende preg_replace_callback, im callback kannst du dann prüfen, ob die Endung so oder so ist.
Oder: Parse die Dinger richtig und nicht mit regexp…