Also hoffentlich könnt ihr mir helfen.
Hab folgende 2 Funktionen:
wenn ich jetzt vor dem query zum eintrag ins gb folgendes mache:
$_POST['message']=smilies($_POST['message']); //in $_POST['message'] steht der gb eintrag drin
$_POST['message']=format_message($_POST['message']);
dann geht der insert query nicht.
Die funktionen funktionieren aber. Wenn ich z.b.
$test=":grr:";
$test=smilies($test);
echo $test;
bzw
$test1="www.xyz.de";
$test1=format_message($test1);
echo $test1;
zum test ausführe dann wird das korrekt umgewandelt, nur in die datenbank eintragen will er das nicht. Woran könnte das liegen?
Hab folgende 2 Funktionen:
PHP:
function smilies($posting)
{
$posting=str_replace(":grr:","<image src='images/angryfire.gif' border='0'>",$posting);
$posting=str_replace(":cool:","<image src='images/cool.gif' border='0'>",$posting);
$posting=str_replace(":mhh:","<image src='images/duarmer.gif' border='0'>",$posting);
$posting=str_replace(":lol:","<image src='images/lol.gif' border='0'>",$posting);
return $posting;
}
function format_message($post) {
$post= addslashes($post);
$post= stripslashes($post);
$post= htmlspecialchars($post);
$post= trim($post);
// URLS in HRC umwandeln:
$post=eregi_replace("([ \r\n])[ url]http://[ /url]([^ ,\r\n]*)","\\1[ url]http://\\2[ /url]",$post);
$post=eregi_replace("([ \r\n])[ url]https://[ /url]([^ ,\r\n]*)","\\1[ url]https://\\2[ /url]",$post);
$post=eregi_replace("([ \r\n])[ url]ftp://[ /url]([^ ,\r\n]*)","\\1[ url]ftp://\\2[ /url]",$post);
$post=eregi_replace("([ \r\n])www\\.([^ ,\r\n]*)","\\1[ url]http://www.\\2[ /url]",$post);
$post=eregi_replace("^[ url]http://[ /url]([^ ,\r\n]*)","[ url]http://\\1[ /url]",$post);
$post=eregi_replace("^[ url]https://[ /url]([^ ,\r\n]*)","[ url]https://\\1[ /url]",$post);
$post=eregi_replace("^[ url]ftp://[ /url]([^ ,\r\n]*)","[ url]ftp://\\1[ /url]",$post);
$post=eregi_replace("^www\\.([^ ,\r\n]*)","[ url]http://www.\\1[ /url]",$post);
// ######### HRC Codes:
$post = str_replace("[hr]","<hr>",$post);
$post=preg_replace("/\[b\](.*)\[\/b\]/iUms","<b>\\1</b>",$post);
$post=preg_replace("/\[i\](.*)\[\/i\]/iUms","<i>\\1</i>",$post);
$post=preg_replace("/\[s\](.*)\[\/s\]/iUms","<strike>\\1</strike>",$post);
$post=preg_replace("/\[u\](.*)\[\/u\]/iUms","<u>\\1</u>",$post);
//email link
$post=preg_replace("/\[email\](.*)\[\/email\]/msiU", "<a href=\"mailto:\\1\">\\1</a>", $post);
// [URL]
$post=preg_replace("/\[url\]www.(.*)\[\/url\]/iUms","<a href=\"http://www.\\1\" target=_blank>[ url]http://www.\\1[ /url]</a>",$post);
$post=preg_replace("/\[url\](.*)\[\/url\]/iUms","<a href=\"\\1\" target=_blank>\\1</a>",$post);
// [URL=
$post=preg_replace("/\[url=(.*)\](.*)\[\/url\]/iUms","<a href=\"\\1\" target=_blank>\\2</a>",$post);
//code ausrichtung
$post=preg_replace("/\[code\](.*)\[\/code\]/msiU", "<blockquote><pre><smallfont>code:<hr>\\1<hr></blockquote></pre></smallfont>", $post);
//quote ausrichtung
$post=preg_replace("/\[quote\](.*)\[\/quote\]/msiU", "<blockquote><smallfont>quote:<hr>\\1<hr></blockquote></smallfont>", $post);
//pic anzeigen
$post=preg_replace("/\[img\](.*)\[\/img\]/iUms","<center><img src=\"\\1\" alt=\"bild\"></center>",$post);
// Farbiger Text
$post=preg_replace("/\[green\](.*)\[\/green\]/iUms","<span style=\"color:green\">\\1</span>",$post);
$post=preg_replace("/\[red\](.*)\[\/red\]/iUms","<span style=\"color:red\">\\1</span>",$post);
$post=preg_replace("/\[blue\](.*)\[\/blue\]/iUms","<span style=\"color:blue\">\\1</span>",$post);
$post=preg_replace("/\[white\](.*)\[\/white\]/iUms","<span style=\"color:white\">\\1</span>",$post);
// sub, sup
$post=preg_replace("/\[sub\](.*)\[\/sub\]/iUms","<sub>\\1</sub>",$post);
$post=preg_replace("/\[sup\](.*)\[\/sup\]/iUms","<sup>\\1</sup>",$post);
// ########## Ende HRC Codes
$post= nl2br($post);
return $post;
}
$_POST['message']=smilies($_POST['message']); //in $_POST['message'] steht der gb eintrag drin
$_POST['message']=format_message($_POST['message']);
dann geht der insert query nicht.
Die funktionen funktionieren aber. Wenn ich z.b.
$test=":grr:";
$test=smilies($test);
echo $test;
bzw
$test1="www.xyz.de";
$test1=format_message($test1);
echo $test1;
zum test ausführe dann wird das korrekt umgewandelt, nur in die datenbank eintragen will er das nicht. Woran könnte das liegen?