[英]PHP escaping concatenated string
我的任务看似很容易,但是我有点挣扎。 我知道我需要转义引号,但是我似乎无法正确组合。
$referringURL = $_SERVER['HTTP_REFERER'];
echo "<a href = ".$referringURL./MyAccount/SearchUser.aspx" class = "back">Return to Search Users page</a>";
值得不时混合报价
echo '<a href = "' . $referringURL . '/MyAccount/SearchUser.aspx" class = "back">Return to Search Users page</a>';
忘记转义,使用Heredoc
echo <<<HTML
<a href = "$referringURL/MyAccount/SearchUser.aspx" class = "back">
Return to Search Users page
</a>
HTML;
您的代码中的实际问题是缺少"
./MyAccount之前和3未转义"
玩得开心
$referringURL = $_SERVER['HTTP_REFERER'];
echo "<a href = '".$referringURL."/MyAccount/SearchUser.aspx' class='back'>Return to Search Users page</a>";
为了避免引用问题,可以使用sprintf
分隔主字符串和要插入的字符串:要插入的每个字符串在主字符串中均用%s
,然后添加与%s
一样多的字符串:
<?php
$referringURL = $_SERVER['HTTP_REFERER'];
$s = sprintf( "<a href = '%s' class = '%s'>Return to Search Users page</a>",
$referringURL . "/MyAccount/SearchUser.aspx",
"back" );
echo $s;
?>
连接多个字符串时,此方法不太容易混淆。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.