代码之家  ›  专栏  ›  技术社区  ›  user

JavaScript中的PHP字符串

  •  0
  • user  · 技术社区  · 16 年前

    我目前正试图在JavaScript中回显文本文件的内容。一切正常,但有个问题。文本中的文本包含撇号,这是对所有内容的抛弃。下面是我正在使用的代码的一部分。我将此代码用于许多文本文件。我考虑过在每个文本文件中将每个撇号改为“\”,但是有很多文本文件需要处理。我只是好奇是否有其他方法来解决这个问题。非常感谢您的任何想法。

    <?php
         $lyrics = file_get_contents('Includes/Songs/Lose_My_Mind.txt');
    ?>
    

    JavaScript代码段:

    var scrollercontent='<?php echo $lyrics; ?>'
    
    7 回复  |  直到 16 年前
        1
  •  2
  •   Alex    16 年前

    addslashes() 功能。就你而言:

    var scrollercontent='<?php echo addslashes($lyrics); ?>'
    
        2
  •  4
  •   bobince    16 年前

    同时 addslashes

    var scrollercontent= <?php echo json_encode($lyrics, JSON_HEX_TAG); ?>;
    

    json_encode 适用于任何数据类型,而不仅仅是字符串。对于字符串,它会在两侧为您添加引号,并适用于任何字符,包括控制代码,如换行符。

    JSON_HEX 是PHP5.3的一个特性。 HEX_TAG < 使用JavaScript字符串文字编码,如 \x3C ,这意味着您可以在 <script> </script> 将过早结束脚本块的序列(甚至只是 </ 其本身在技术上是无效的。)

        3
  •  1
  •   jbnunn    16 年前

    addslashes(nl2br($lyrics))

    ( nl2br 将新行替换为 <br> 标签。)

        4
  •  0
  •   Chris Gutierrez    16 年前

    试着改变这个

    var scrollercontent='<?php echo $lyrics; ?>'
    

    对此

    var scrollercontent='<?php echo addslashes($lyrics); ?>'
    

    var scrollercontent='<?php echo htmlentities($lyrics); ?>'
    

    这些应该有助于转义或实体化引用等。。。

        5
  •  0
  •   Christopher Altman    16 年前

    您是否尝试过:

    <?php $lyrics = addslashes(file_get_contents('Includes/Songs/Lose_My_Mind.txt')); ?>

        6
  •  0
  •   bng44270    16 年前

    file_get_contents 命令:

    $lyrics = str_replace("\'","\\'",$lyrics);

        7
  •  0
  •   Alfred redcoder    13 年前
    <?php
    $lyrics = nl2br(htmlentities(file_get_contents('Includes/Songs/Lose_My_Mind.txt'), ENT_QUOTES)); 
    ?>
    var scrollercontent="<?php echo $lyrics; ?>";
    
    推荐文章