我为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>
我尝试过striplashes,但没有运气。这已经讨论了多年,但我没有看到wordpress的确定解决方案。魔术行情在我的服务器上关闭......任何想法?
答案 0 :(得分:3)
使用
$dinnerEntree2 = stripslashes_deep( $_POST[$dinnerEntree_option] );
注意:它应该在与$wpdb
交互的任何(而非内部)命令之前使用。