准备的语句放在\'
问题描述:
之前\使用准备好的语句来解码BBcode,但由于某种原因,它会在发布之前放入\'。我不知道是什么原因造成的,但是我相信当我改变BB代码的HTML被放在数据库碰巧的是,代码如下所示:准备的语句放在'
$text = $membership->remove_HTML($text);
//convert line breaks to <br /> tags.
$text = nl2br($text);
//cleans up by removing white space.
$text = trim($text);
//now lets replace things BASIC EDITOR
$text = preg_replace("/\[b\](.*)\[\/b\]/", "<strong>\\1</strong>", $text);
$text = preg_replace("/\[i\](.*)\[\/i\]/", "<em>\\1</em>", $text);
$text = preg_replace("/\[u\](.*)\[\/u\]/", "<span style='text-decoration:underline;'>\\1</span>", $text);
$text = preg_replace("/\[s\](.*)\[\/s\]/", "<del>\\1</del>", $text);
$text = preg_replace("/\[url\](.*)\[\/url\]/", "<a target='_blank' href='\\1'>\\1</a>", $text);
$text = preg_replace("/\[url=(.*)\](.*)\[\/url\]/", "<a target='_blank' rel='\\1' href='\\1'>\\2</a>", $text);
//now lets replace MORE things EXPANDED EDITOR
$text = preg_replace("/\[img\](.*)\[\/img\]/", "<img>\\1</img>", $text);
$text = str_ireplace("[hr]","<hr>", $text);
$text = preg_replace("/\[justify\](.*)\[\/justify\]/", "<p style='text-align:justify;'>\\1</p>", $text);
$text = preg_replace("/\[center\](.*)\[\/center\]/", "<p style='text-align:center;'>\\1</p>", $text);
$text = preg_replace("/\[left\](.*)\[\/left\]/", "<p style='text-align:left;'>\\1</p>", $text);
$text = preg_replace("/\[right\](.*)\[\/right\]/", "<p style='text-align:right;'>\\1</p>", $text);
$text = preg_replace("/\[h1\](.*)\[\/h1\]/", "<h4>\\1</h4>", $text);
$text = preg_replace("/\[h2\](.*)\[\/h2\]/", "<h5>\\1</h5>", $text);
$text = preg_replace("/\[h3\](.*)\[\/h3\]/", "<h6>\\1</h6>", $text);
$updatenews = $mysql->add_news($_SESSION['user'][0], $headline, $text, $time);
答
检查是确保PHP的魔术引号最快的事情是disabled。
如果您不想正确使用PHP配置,请在通过该系列preg_replaces()
滚动$text
之前查看是否存在斜杠。
+0
谢谢!我修改了我的ini文件,现在一切正常。 – 2010-11-10 02:39:54
AAAGGHHH MY EYES !!这是怎么回事!?这是什么意思!? – metrobalderas 2010-11-10 01:23:24
作为一个兴趣点,你可能想看看BBCode的功能。 http://uk.php.net/manual/en/book.bbcode.php – Aether 2010-11-10 10:17:30