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"); ?>";

それは機能せず、私がまだ理解できていないメッセージを返します。

基本的に、cr/lf シーケンスを削除することなく、単純な html フォーマットをフィールドに入れたいと考えています。

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 に答える