1

以下工作正常:

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 序列。

4

2 回答 2

1

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

于 2012-04-30T01:59:01.593 回答
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','"') ?>";
于 2012-04-30T02:28:20.567 回答