我真的希望有人可以帮助我。我一直用这个撞在墙上:(。
我有以下代码让我疯狂
在我的PHP文件中,我输入了以下代码以显示一系列A-Z链接:
<div>
<ul id="AZList">
<li><a id="LetterLink1" href="javascript:showonlyone('LetterList1');">#</a></li>
<?php
$lettercounter=1;
for ($i=65; $i<=90; $i++){
$lettercounter=$lettercounter+1;
$LetterLinkLbL="ListLetter".$lettercounter;
?>
<li><a id="LetterLink<?php echo $lettercounter ?>" href="javascript:showonlyone('<?php echo $LetterLinkLbL ?>');"><?php echo chr($i) ?></a></li>
<?php } ?>
</ul>
</div>
但是当我查看源文件时,它显示为
<li><a id="LetterLink1" href="javascript:showonlyone("LetterList1');">#</a></li>
<li><a id="LetterLink2" href="javascript:showonlyone("ListLetter2');">A</a></li>
<li><a id="LetterLink3" href="javascript:showonlyone("ListLetter3');">B</a></li>
这导致页面出错
第一个应该是:
<li><a id="LetterLink1" href="javascript:showonlyone('LetterList1');">#</a></li>
有谁知道如何才能正确显示报价?
我刚刚将笔记本电脑上的文件上传到远程服务器,它正常运行,我没有对文件进行任何更改。
我确实通过在页面上写一个echo语句来确认我正在查看同一个文件。
为什么会在我的本地主机上显示这样的内容?有没有人知道他的问题是什么?
顺便说一下,谢谢你的所有评论
答案 0 :(得分:1)
您的代码中的内容与输出应该给您的内容之间存在差异:
您的代码:
href="javascript:showonlyone('<?php echo $LetterLinkLbL ?>');"
必然会呈现:
href="javascript:showonlyone('ListLetter3');"
但你说它呈现(在开头有一个双引号,在结尾有一个):
href="javascript:showonlyone("ListLetter3');"
您提供的PHP代码不应该创建错误,因为它是正确的。 你确定你没有给我们另一个试验的输出吗?
使用相同的引号在PHP / javascript字符串中插入引号的规则只是在它之前添加\:
$Value = "Hello Johnny \"PHP\" Boy !!";
或
$Value = 'Hello Johnny \'PHP\' boy !';
答案 1 :(得分:0)
为什么不查看像htmlspecialentities()这样的函数,它们会转义并转换这些不明确的字符。如果需要,还可以通过在单引号中应用前面的反斜杠()来检查文本编辑器的字符集编码和转义引号。
如果您要转义引号,这也适用于PHP:
href="javascript:showonlyone(\"<?php echo $LetterLinkLbL ?>\");">
顺便说一下:<?php echo ... ?>
可以用简写的方式编写,简化为<?= ... ?>
,甚至没有结尾的分号(;)