我的网页上有一个链接可能有错误。我不知道此页面的URL,但是当用户单击此链接时,我希望刷新相同的页面并传递这些变量以进行处理。我的链接似乎有用但是 我担心的是:
当我查看该页面并打开页面源时,我得到'&'用红色突出显示对我来说意味着存在某种错误。这条线是否符合网络标准?
<a name="anchorOpen" href="?folder=<?php echo $j; ?>&full=<?php echo
$fullScreen;?>#anchorOpen" > <img src="<?php print "$firstPic[$j]";?>"
class="folderPic"/></a>
这是组合通过链接传递的变量的方法。这条线有什么问题吗?感谢。
答案 0 :(得分:0)
&符号(&
符号)应在HTML中写为&
。这是因为&
符号位于保留符号列表中。请参阅w3schools作为参考。
如果您想将整个批次作为php字符串回显,还可以选择使用php htmlentities()
函数。
答案 1 :(得分:0)
&amp;显示为红色让我觉得&amp;不在引号(“)内。 如果您将变量传递到网址,则可以考虑使用 urlencode()
<?php
echo '<a name="anchorOpen" href="?folder='.urlencode($j).'&full='.urlencode($fullScreen).'#anchorOpen">';
echo '<img src="'.urlencode($firstPic[$j]).'" class="folderPic"/></a>';
?>
答案 2 :(得分:0)
最正确的方法是将urlencode()
用于您在网址中注入的变量
比如说,“foo bar
”将转换为“foo+bar
”
或者,“foo&bar
”会完全破坏网址,因此会转换为“foo%26bar
”
因此,在您的示例中,它将是:
<a href="?folder=<?php echo urlencode($j)?>&full=<?php echo urlencode($fullscreen)?>#anchorOpen"><img src="<?php echo $firstPic[$j]?>" class="folderPic"/></a>
然后,在PHP脚本中,不需要做任何特殊的事情 - $ _GET变量将被自动转换回来,因此你将完全拥有“foo bar
”和“foo&bar
”在此之前。