单引号内的单引号可删除正斜杠

时间:2019-06-06 18:49:10

标签: php escaping double-quotes single-quotes

我有此代码:

$profile_image_url = str_replace(" ", "%20", 'https://www.example.com/images/cropped (1).jpg');

$output .= "style='background:url('https://www.example.com/images/" . $profile_image_url . "')no-repeat;'";

输出结果为:

style="background:url(" https: www.example.com images cropped (1).jpg')no-repeat;

如何修复此行代码以防止URL斜杠被删除?谢谢!

$output .= "style='background:url('https://www.example.com/images/" . $profile_image_url . "')no-repeat;'";

我尝试用反斜杠将最里面的单引号转义,但是没有用->

$output .= "style='background:url(\'https://www.example.com/images/" . $profile_image_url . "\')no-repeat;'";

1 个答案:

答案 0 :(得分:3)

并没有真正消除斜线。如果您查看页面源代码而不是使用inspect,就会看到它们。

将样式属性值放在双引号中。

$output .= "style=\"background:url('https://www.example.com/images/" . $profile_image_url . "')no-repeat;\"";

或将URL放在双引号中。

$output .= "style='background:url(\"https://www.example.com/images/" . $profile_image_url . "\")no-repeat;'";

不能在单引号内使用转义的单引号。遇到的第二个单引号将关闭第一个。如您所见,转义它们在那种情况下不起作用。