Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的PHP字符串_Php_Javascript_File Get Contents - Fatal编程技术网

JavaScript中的PHP字符串

JavaScript中的PHP字符串,php,javascript,file-get-contents,Php,Javascript,File Get Contents,我目前正试图在JavaScript中回显文本文件的内容。一切正常,但有个问题。文本中的文本包含撇号,这是对所有内容的抛弃。下面是我正在使用的代码的一部分。我将此代码用于许多文本文件。我考虑过在每个文本文件中将每个撇号改为“\”,但是有很多文本文件需要处理。我只是好奇是否有其他方法来解决这个问题。非常感谢您的任何想法 <?php $lyrics = file_get_contents('Includes/Songs/Lose_My_Mind.txt'); ?> Java

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

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

JavaScript代码段:

var scrollercontent='<?php echo $lyrics; ?>'
var scrollercontent=''
尝试使用函数。就你而言:

var scrollercontent='<?php echo addslashes($lyrics); ?>'
var scrollercontent=''
尝试更改此选项

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

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

var scrollercontent=''
这些应该有助于对引号等进行转义或实体化。

您是否尝试过:


虽然
addslashes
基本上可以工作,但这更好:

var scrollercontent= <?php echo json_encode($lyrics, JSON_HEX_TAG); ?>;
var scrollercontent=;
json_encode
适用于任何数据类型,而不仅仅是字符串。对于字符串,它会在两侧为您添加引号,并适用于任何字符,包括控制代码,如换行符

JSON_HEX
s是PHP5.3的一个特性<代码>十六进制标记替换
尝试

addslashes(nl2br($歌词))


nl2br
将新行替换为

标记。)

您可以在
文件获取内容
命令后添加以下行:

$lyris=str\u替换(“\'”、“\\'”、$lyris)

这将把所有的单撇号都改为转义撇号,并且可以很好地使用Javascript。


<?php
$lyrics = nl2br(htmlentities(file_get_contents('Includes/Songs/Lose_My_Mind.txt'), ENT_QUOTES)); 
?>
var scrollercontent="<?php echo $lyrics; ?>";
var scrollercontent=“”;
Ok我尝试了这个方法,但在JavaScript中使用时,它本身就可以工作。好的,我想我已经解决了问题,文本文件中的文本不是一个连续的行,而是一堆行。有没有办法让它自动识别新行?我已尝试在其中一个文本文件的每行末尾添加“\n”,但无效:(太好了!有一件事,文本文件中的文本不是一个连续的行,而是一堆行。有没有办法让它自动识别新行?我试过放“\n”在其中一个文本文件的每一行末尾,它不起作用。scrollercontent的内容会使用JavaScript自动滚动,我希望它保持相同的格式。PHP字符串中的任何新行都肯定会传递到JavaScript。可能问题在于它们的显示方式?HTM中的新行L source将仅显示为一个空格。您需要为每个换行符创建一个

元素,或将每行文本包装在其自己的
中,以将换行符显示为实际的新行。这完美地解决了换行符问题!谢谢。
<?php
$lyrics = nl2br(htmlentities(file_get_contents('Includes/Songs/Lose_My_Mind.txt'), ENT_QUOTES)); 
?>
var scrollercontent="<?php echo $lyrics; ?>";