php包含未终止的字符串文字消息

时间:2012-04-30 01:54:33

标签: php javascript

以下工作正常:

var sFirstText=<?php include("first2.html"); ?>;

当first2.html看起来像这样包含双引号:

"<p>sentence one</p><p>sentence two</p>"

但是,如果first2.html看起来像:

"<p>sentence one</p>
<p>sentence two</p>"

我收到一个未终止的字符串文字消息。我希望弄清楚如何在不首先删除回车/换行序列的情况下包含html。

另外,如果我删除双引号并执行:

var sFirstText="<?php include("first2.html"); ?>";

这将无效,返回我尚未理解的消息。

基本上我想在一个字段中得到简单的html格式,而不必删除cr / lf序列。

2 个答案:

答案 0 :(得分:1)

尝试使用行尾的\将字符串继续到下一行。

答案 1 :(得分:0)

Javascript无法处理这些换行符。你可能想打开文件,阅读内容并用空格替换那些文件。

此外,在获取源内容时,您需要转义您用于包装它的引用类型。

这就是我要做的事。

function contents($file, $wrappingQuote='\'') {
    $fh = fopen($file,'r');
    $contents = fread($fh,filesize($file));
    fclose($fh);
    echo preg_replace('~\'~','\\'.$wrappingQuote,preg_replace('~\r?\n~','',$contents));
}

(...)

var str = '<?php contents('first2.html') ?>';
// or
var str = "<?php contents('first2.html','"') ?>";