ich habe folgendes in meiner shoutbox um links als klickbare links zu ersetzten
das geht alles wunderbar nun habe ich smilis eingebaut
direkt unter den letzten oben genannten code
das geht alles soweit nur leider geht es nicht mehr wenn ich ein link eintrage wenn ich das so in das text feld eingebe
kommt so ein quatsch dabei raus
er mix das alles
die smilys werden mit kompletten link eingetragen
das heist er wandelt ja den code in
um.
das $row2->smile ist in der datenbank so :
ich brauche dort den vollen link
nur leider baut er den nun mitten in den href ein ?
ich hoffe ihr habt mein problem verstanden wo oder wie kann ich das ändern ****
die smilys gehen super da hab ich kein problem
PHP:
$text = $row['message'];
//Aus http://url wird [ URL]http://url[ /URL]
$urlsuch[]="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si";
$urlsuch[]="/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si";
$urlreplace[]="\\1[ URL]\\2\\4[ /URL]";
$urlreplace[]="[ URL]\\1\\3[ /URL]";
//Aus klaus@mustermann.de wird [ EMAIL]klaus@mustermann.de [ /EMAIL]
$emailsuch[]="/([\s])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
$emailsuch[]="/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
$emailreplace[]="\\1[ EMAIL]\\2[ /EMAIL]";
$emailreplace[]="[ EMAIL]\\0[ /EMAIL]";
$text = preg_replace($urlsuch, $urlreplace, $text);
if (strpos($text, "@"))
{
$text = preg_replace($emailsuch, $emailreplace, $text);
}
$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$pfad = "/e107_plugins/shoutbox/system/";
//Die URL's werden zu Links
$text = preg_replace("/\[ URL\]www.(.*?)\[\ /URL\]/si", "<a target=\"_blank\" title=\"http://www.\\1\"href=\"http://www.\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>", $text);
$text = preg_replace("/\[ URL\](.*?)\[\ /URL\]/si", "<a target=\"_blank\"title=\"http://www.\\1\" href=\"\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>", $text);
$text = preg_replace("/\[ URL=www.(.*?)\](.*?)\[\ /URL\]/si", "<a target=\"title=\"http://www.\\1\"_blank\" href=\"http://www.\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>", $text);
$text = preg_replace("/\[ URL=(.*?)\](.*?)\[\ /URL\]/si", "<a target=\"_blank\" title=\"http://www.\\1\"href=\"\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>", $text);
//E-Mail Adressen werden zu links
$text = preg_replace("/\[ EMAIL\](.*?)\[\ /EMAIL\]/si", "<a title=\"mailto:\\1\"href=\"mailto:\\1\"><img src=\"http://".$host."".$uri."/system/mail.png\" width=\"32\" height=\"32\"></a>", $text);
$text = preg_replace("/\[ EMAIL=(.*?)\](.*?)\[\ /EMAIL\]/si", "<a title=\"mailto:\\1\"href=\"mailto:\\1\"><img src=\"http://".$host."".$uri."/system/mail.png\" width=\"32\" height=\"32\"></a>", $text);
//[ IMG]bild.jpg[ /IMG] wird als Bild angezeigt
$text = preg_replace("/\[ IMG\](.*?)\[\ /IMG\]/si", "<img src=\"\\1\" border=\"0\"style=\"width:32px\">", $text);
das geht alles wunderbar nun habe ich smilis eingebaut
direkt unter den letzten oben genannten code
PHP:
//smily abruf und replace
$sql2 = "SELECT * FROM ".MPREFIX."shoutbox_smilys";
$result2 = mysql_query($sql2);
while($row2 = mysql_fetch_object($result2))
{
$text = str_replace($row2->coding,"<img src='".$row2->smile."'>", $text);
}
//ende smilys
$result .= "<li class='shout'><strong>".$row['user']."</strong><br />".$text." <br /><span class=\"date\">".$row['date']."</span></li>";
das geht alles soweit nur leider geht es nicht mehr wenn ich ein link eintrage wenn ich das so in das text feld eingebe
PHP:
http://127.1.1.0/e107/news.php
kommt so ein quatsch dabei raus
PHP:
<a href="http://www.<img src='e107_plugins/shoutbox/smilies/lazycrasy/32 (11).png'>is-e107.de/theme/news.php" title="http://www.http://www.<img src='e107_plugins/shoutbox/smilies/lazycrasy/32 (11).png'>is-e107.de/theme/news.php" target="_blank"><img width="32" height="32" src="http://127.1.1.0/e107/e107_plugins/shoutbox/system/link.png"></a>
er mix das alles
die smilys werden mit kompletten link eingetragen
das heist er wandelt ja den code in
PHP:
<img src='".$row2->smile."'>
das $row2->smile ist in der datenbank so :
PHP:
http://www.hupsis-e107.de/theme/e107_plugins/shoutbox/smilies/lazycrasy/32 (6).png
nur leider baut er den nun mitten in den href ein ?
ich hoffe ihr habt mein problem verstanden wo oder wie kann ich das ändern ****
die smilys gehen super da hab ich kein problem