代码之家  ›  专栏  ›  技术社区  ›  R P

为什么在PHP中不使用str\u replace从字符串中删除哈希(#)?

  •  3
  • R P  · 技术社区  · 8 年前

    我尝试了以下代码

    <script type="text/javascript">
    var hasvalue = window.location.hash;
    </script>
    <?php
    $ValHas = "<script>document.writeln(hasvalue);</script>";
    echo $ValHas."<br>"; // Display #123-12555 
    echo str_replace("#","",$ValHas); // Display again #123-12555 
    ?>
    

    我错过了什么?

    1 回复  |  直到 8 年前
        1
  •  4
  •   CertainPerformance    8 年前

    $ValHas 仍然是 一串 在PHP中,值为 "<script>document.writeln(hasvalue);</script>" .它没有 # s、 它不会变成 '#123-12555 ' 直到客户端的Javascript对函数求值。

    如果要删除哈希客户端,请执行以下操作:

    var hasvalue = window.location.hash.replace('#', '');