My PHP
echo '<div class="coverImg" style="background=url("'. urldecode($item) . '") no-repeat center center">'; } ?>
输出(多姆)
<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/">
我错过了什么吗?
听起来你
实际上不需要使用urldecode()
,因为$item
一开始就没有百分比编码。您应该使用 htmlspecialchars
,以防它包含需要编码才能在 HTML 中使用的字符。
另外,您不应该将"
放在url(...)
内。第一个引号与style="
开头的引号匹配,因此它结束了值。
echo '<div class="coverImg" style="background=url('. htmlspecialchars($item) . ') no-repeat center center">'; } ?>
我想URL是正确的,问题出在添加表示为&
的第二个参数&
,因此您可以使用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">'; } ?>