我的PHP
echo '<div class="coverImg" style="background=url("'. urldecode($item) . '") no-repeat center center">'; } ?>
输出(DOM)
<div class="coverImg" style="background=url(" https:="" serembangirl.files.wordpress.com="" 2014="" 11="" 20141005-071447.jpg?w="300&h=400")" no-repeat="" center="" center"=""><a href="https://serembangirl.wordpress.com/2014/11/14/sometimes-i-forget/">
我错过了什么吗?
答案 0 :(得分:0)
听起来您实际上不需要使用urldecode()
,因为$item
首先没有进行百分比编码。您应该使用htmlspecialchars
,以防它包含需要编码以便在HTML中使用的字符。
另外,你不应该将"
放在url(...)
内。第一个引用是在style="
开头匹配引号,因此它结束了值。
echo '<div class="coverImg" style="background=url('. htmlspecialchars($item) . ') no-repeat center center">'; } ?>
答案 1 :(得分:0)
我猜网址是正确的,问题出在&
添加第二个参数,表示为&
,因此您可以使用html_entity_decode
来解决此问题:
echo '<div class="coverImg" style="background=url("'. html_entity_decode($item) . '") no-repeat center center">'; } ?>
或者您可以将这两个功能结合起来:
echo '<div class="coverImg" style="background=url("'. urldecode(html_entity_decode($item)) . '") no-repeat center center">'; } ?>