【问题标题】:Quotation Marks Causing Error on Page引号导致页面错误
【发布时间】:2011-01-22 13:06:41
【问题描述】:

我真的希望有人可以帮助我。我一直用这个把头撞到墙上:(。

下面的代码让我抓狂

在我的 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>

有谁知道如何让引号正确显示?


我刚刚将文件从我的笔记本电脑上传到远程服务器,它可以正常工作,无需我对文件进行任何更改。

我确实通过向页面写入回显语句来确认我正在处理和查看同一个文件。

为什么它会在我的本地主机上显示为这样?有谁知道他的问题可能是什么?

顺便谢谢你们所有的cmets

【问题讨论】:

  • 它工作正常here。您确定您使用的是该代码吗?
  • 无法重现,并且您的代码没有任何意义。我怀疑您忘记将最新版本的文件上传到您的服务器,或者您一直在修改错误的 PHP 文件,或类似的东西。
  • 你的真实代码有错别字

标签: php javascript html


【解决方案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 !';

【讨论】:

    【解决方案2】:

    你为什么不检查像htmlspecialentities() 这样的函数,它会转义并转换这些模棱两可的字符。如有必要,还可以检查文本编辑器的字符集编码并转义引号,方法是将前面的反斜杠()应用于单引号。

    如果您要转义引号,这也适用于 PHP:

    href="javascript:showonlyone(\"<?php echo $LetterLinkLbL ?>\");">
    

    顺便说一句:&lt;?php echo ... ?&gt; 可以简写为&lt;?= ... ?&gt;,甚至没有结束分号(;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2011-04-02
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      相关资源
      最近更新 更多