【问题标题】:Escaping apostrophes in wordpress在 wordpress 中转义撇号
【发布时间】:2012-09-11 04:19:05
【问题描述】:

我为 wordpress 编写了一个插件,用于存储餐厅菜单项。但无论何时使用撇号,wordpress 都会在管理端和前端使用斜杠对其进行转义,并在每次保存时不断在文本中添加斜杠。

这是我作为邮政编码的摘录和示例:

$dinnerEntree2 = $_POST[$dinnerEntree_option];
for ($i=1; $i<= $dinner_menu_item_number_saved; $i++) {

// entree   dinner_menu_entree_option
$dinnerEntree = "dinner_menu_".$i."_entree";
$dinnerEntree_saved = "dinner_menu_".$i."_entree_save";
$dinnerEntree_option = "dinner_menu_".$i."_entree_option";
$dinnerEntree_saved2 = get_option($ingredients);
$dinnerEntree2 = $_POST[$dinnerEntree_option];

if ($dinnerEntree_saved2 != $dinnerEntree2)
if(!update_option($dinnerEntree,$dinnerEntree2))
$message='failed to save large entree';
// end of entree

在输入表单域中:

<input type="text" name="dinner_menu_<?php echo $i ?>_entree_option" value="<?php echo get_option($dinnerEntree);  ?>" size="40"/></span>

我尝试过使用stripslashes,但没有成功。多年来一直在讨论这个问题,但我没有看到 wordpress 的明确解决方案。我的服务器上的魔术行情已关闭....有什么想法吗?

【问题讨论】:

    标签: wordpress escaping apostrophe stripslashes


    【解决方案1】:

    使用

    $dinnerEntree2 = stripslashes_deep( $_POST[$dinnerEntree_option] );
    

    参考:stripslashes_deep()


    注意:它应该在任何与$wpdb交互的命令之前(而不是在其中)使用。

    【讨论】:

    • 谢谢 - 但仍然没有成功。这是一个很难解决的问题。很多谷歌搜索还没有帮助我,这就是为什么我决定发布到这个伟大的网站。
    • 如果数据库中的条目已经充满了太多的斜线(例如\\\\\\\\'),您可能需要在再次尝试stripslashes_deep()之前手动删除它们。
    • 数据库中没有斜杠...管理插件确实删除了它们
    猜你喜欢
    • 1970-01-01
    • 2013-07-13
    • 2022-11-15
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多