我在编写的脚本中使用wp\\u insert\\u post(出于多种原因),这会导致任何包含撇号的字符串被截断到该字符(包括该字符)。下面是我要测试的代码:
$question = "If you’re in need, this is who you call";
echo $question."<br />";
$post = array(
\'post_title\' => $question,
\'post_status\' => \'publish\',
\'post_type\' => \'question\'
);
echo $post[\'post_title\'];
$the_post_id = wp_insert_post($post);
这很奇怪,因为当我回显两个字符串时,会在两端回显正确的内容,所以我将其隔离到引起问题的wp\\u insert\\u post函数。当我在WordPress中查看它时,标题只是“如果你”,然后结束。
我在这里发现了类似的问题:
http://premium.wpmudev.org/forums/topic/q-wp_insert_post-truncates-post-content-on-quotes-is-there-a-proper-way-to-escape-these-things
但在那一页上似乎没有任何解决方案。你对这里发生了什么以及如何解决有什么想法吗?不知道为什么会这样。我正在研究它,看看它是否与我的代码中的其他内容有关,但似乎不应该这样做,因为数组元素在wp\\u insert\\u post()函数之前回显时,格式似乎很好。
谢谢你的帮助!
编辑我应该指定必须从一个数组中调用这些字符串,在该数组中我从另一个源获取数据,因此我不必直接访问字符串。我尝试了mysql\\u real\\u escape\\u string(),它应该也会自动完成这项工作,但似乎不起作用。。。