従来の出力方法 (文字列による出力) を使用する場合は、構文エラーを避けるために、文字列内の引用符などの特殊文字をエスケープするためのエスケープ文字を多数用意する必要があります。 1箇所や2箇所くらいならまだ許せますが、完全なhtmlテキストや200行のjsだったら誰でも倒れると思います。これが、PHP が区切り文字を導入する理由です。少なくともその理由の大部分はこれです。
1. PHP 区切り文字の機能は、改行形式などを含めて、その内容をそのまま出力することです。
3. PHP 区切り文字内の特殊文字はエスケープする必要はありません。区切り文字内の変数は通常どおりその値に置き換えられます。
PHP の区切り文字の形式は次のとおりです:
コードをコピーします コードは次のとおりです:
<<...
は非常に単純に見えますが、注目すべき場所はたくさんあります。
まず、<<<の後の文字Eofは自分で定義できますが(AAAなど)、末尾の文字はペアで表示される必要があります。 {} のような - これは最も基本的なものです。
PHP 区切り文字を使用するプロセスにおいて、注意が必要な 2 番目の問題も、問題が発生する最も一般的な場所です。
最後の行 (上記の例では Eof; など) は新しい行で開始する必要があります。 Eof を除いて行を変更する必要があります。この区切り文字の終わりの外側に他の文字を置くことはできません。また、その前後にスペースを含む文字を置くことはできません。スペースまたはタブが行の先頭または末尾にある場合は、次のようなエラー メッセージが表示されます。
解析エラー: 解析エラー、予期しない $end in...、構文エラーを求めるメッセージが表示されます。注意点は、区切り文字の途中に PHP 変数がある場合、他の文字列の出力と同じように記述するだけです。たとえば、
コードをコピーします
コードは次のとおりです: <<< ;Eof
hello{$name}
Eof;
変数 $name が {} で囲まれている理由は、実際にはこれが PHP 変数であることを PHP パーサーに伝えるためです。使用しないでください。ただし、曖昧さが生じる可能性があります。たとえば、変数の後ろに文字や特殊記号がない場合はどうなるでしょうか。このように書かないでください
コードをコピーしてください
コードは次のとおりです:<<
hello この場合、構文エラー メッセージも表示されます。 1 つ目は、現場でテストされた PHP 区切り文字の正しい書き方です。 HTML と JavaScript コードが含まれています:
コードをコピー
コードは次のとおりです:
$name = 'kitty'
echo << {$name}
var p='document.writeln(p); ;/スクリプト>
;
http://www.bkjia.com/PHPjc/320209.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/320209.html
技術記事
従来の出力方法 (文字列による出力) を使用する場合は、構文エラーを避けるために、文字列内の引用符などの特殊文字をエスケープするためのエスケープ文字を多数用意する必要があります。もし...
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。