PHP での引用符のエスケープ
引用符に関連する解析エラーが発生するとイライラすることがあります。この問題に対処するために、文字列を一貫して扱うためのさまざまなアプローチを検討してみましょう。
たとえば、次の行で問題が発生すると述べました:
$text1 = 'From time to "time" this submerged or latent theater in 'Hamlet' becomes almost overt. It is close to the surface in Hamlet's pretense of madness, the "antic disposition" he puts on to protect himself and prevent his antagonists from plucking out the heart of his mystery. It is even closer to the surface when Hamlet enters his mother's room and holds up, side by side, the pictures of the two kings, Old Hamlet and Claudius, and proceeds to describe for her the true nature of the choice she has made, presenting truth by means of a show. Similarly, when he leaps into the open grave at Ophelia's funeral, ranting in high heroic terms, he is acting out for Laertes, and perhaps for himself as well, the folly of excessive, melodramatic expressions of grief.";
このエラーは、文字列内の引用符が使用されているために発生します。文字列がインタプリタを混乱させます。これを解決するには、バックスラッシュ () を使用して引用符をエスケープします。これにより、PHP は引用符を解釈せずに、囲まれたテキストを単一の文字列として認識します。
$text1 = 'From time to \"time\" this submerged or latent theater in 'Hamlet' ...
PHP は一重引用符と二重引用符を区別しないため、文字列に一重引用符を使用することもできます。文字列リテラルの場合:
$text1 = 'From time to "time"';
考慮すべきもう 1 つのオプションは、ヒアドキュメントを使用することです。これは、 「<<<」および「用語」構文。これにより、複数行のテキストを 1 つの文字列に含めることができるため、大量のテキストの場合に便利です。ヒアドキュメントは、解析の問題を引き起こすことなく文字列内に一重引用符と二重引用符の両方を含める必要がある場合に特に役立ちます。
$heredoc = <<<term This is a long line of text that include variables such as $someVar and additionally some other variable $someOtherVar. It also supports having 'single quotes' and "double quotes" without terminating the string itself. heredocs have additional functionality that most likely falls outside the scope of what you aim to accomplish. term;
これらの手法を実装すると、引用符によって引き起こされる解析エラーを回避し、文字列が確実にPHP スクリプトで正しく解釈されます。
以上が解析エラーを避けるために、PHP 文字列内の引用符をエスケープするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。