スマート引用符は、通常の直線引用符 (' と ") の代わりに使用される活字記号です。ただし、ソフトウェア アプリケーションでは、異なる種類のスマート クオート間の変換に苦労し、不一致が生じるのが一般的です。
スマート クォートの変換の難しささまざまなエンコーディングと文字を表すために使用される文字が異なるため、オペレーティング システムやソフトウェア プログラムが独自の標準を採用しているため、たとえば、あるシステムでは Unicode が使用され、別のシステムでは Windows コードページ 1252 が使用されることがあります。
この課題に対処するには、PHP の包括的なスマート引用符変換関数は、関連するさまざまなエンコーディングと文字を完全に理解する必要があります。スマート クオート (Unicode、Windows コードページ 1252、その他のレガシー エンコーディングで定義されているものを含む)。
次の最適化された PHP 実装は、すべての種類のスマート クォートを通常の引用符に変換します。
<code class="php">function convert_smart_quotes($string) { // Create a map of smart quote characters to their respective Unicode representations $smart_quotes = array( "\xC2\xAB" => '"', // « (U+00AB) "\xC2\xBB" => '"', // » (U+00BB) "\xE2\x80\x98" => "'", // ‘ (U+2018) "\xE2\x80\x99" => "'", // ’ (U+2019) "\xE2\x80\x9A" => "'", // ‚ (U+201A) "\xE2\x80\x9B" => "'", // ‛ (U+201B) "\xE2\x80\x9C" => '"', // “ (U+201C) "\xE2\x80\x9D" => '"', // ” (U+201D) "\xE2\x80\x9E" => '"', // „ (U+201E) "\xE2\x80\x9F" => '"', // ‟ (U+201F) "\xE2\x80\xB9" => "'", // ‹ (U+2039) "\xE2\x80\xBA" => "'", // › (U+203A) ); // Strtr function can directly replace the smart quote characters with their Unicode counterparts $converted_string = strtr($string, $smart_quotes); // Return the converted string return $converted_string; }</code>
この関数は、Unicode、Windows コードページ 1252、従来のエンコーディングに見られるものを含む、幅広いスマート クオートのバリエーションをカバーします。 strtr を使用すると、スマート クオートのすべてのインスタンスが対応する Unicode 表現に置き換えられ、一貫性のある標準化されたテキストが得られます。
以上がPHP であらゆるタイプのスマート クォートを変換するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。