0

出于某些原因,在更新了几项内容后,在我们的 wordpress 网站上,自定义字段中的每个撇号前都会自动添加 3 个反斜杠。 示例src="abc"将导致src=\\\"abc\\\"

我在functions.php中有一个函数,我可以在其中连接到网站。现在我需要删除那些反斜杠。这是原始功能:

add_action('woocommerce_before_single_product', 'headline_placeholder');
function headline_placeholder () {
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'productheadline', true);
wp_reset_query();
}

这就是我试图删除反斜杠的方法,但它只删除了 2 个反斜杠,而不是全部 3 个。

function removeslashes($string)
{
    $string=implode("",explode("\\",$string));
    return stripslashes(trim($string));
}

add_action('woocommerce_before_single_product', 'headline_placeholder');
function headline_placeholder () {
global $wp_query;
$postid = $wp_query->post->ID;
$meta = get_post_meta($postid, 'productheadline', true);
echo removeslashes($meta);
wp_reset_query();
}

错误在哪里?

4

2 回答 2

1

也许您可以使用 str_replace,如下所示:

function removesalshes($text) {
    return str_replace ( "///" , "", $text);
}

希望能帮助到你!

于 2017-07-09T01:29:33.383 回答
1

看来您正在删除正斜杠。尝试以下操作:

function removesalshes($text) {
    return str_replace ( '\\\' , "", $text);
}
于 2017-07-10T05:22:26.233 回答