ホームページ > バックエンド開発 > PHPチュートリアル > PHP であらゆるタイプのスマート クォートを変換するには?

PHP であらゆるタイプのスマート クォートを変換するには?

Barbara Streisand
リリース: 2024-10-22 06:47:02
オリジナル
1074 人が閲覧しました

How to Convert All Types of Smart Quotes in PHP?

PHP ですべての種類のスマート引用符を変換する

スマート引用符は、通常の直線引用符 (' と ") の代わりに使用される活字記号です。ただし、ソフトウェア アプリケーションでは、異なる種類のスマート クオート間の変換に苦労し、不一致が生じるのが一般的です。

スマート クォート変換の課題

スマート クォートの変換の難しささまざまなエンコーディングと文字を表すために使用される文字が異なるため、オペレーティング システムやソフトウェア プログラムが独自の標準を採用しているため、たとえば、あるシステムでは Unicode が使用され、別のシステムでは Windows コードページ 1252 が使用されることがあります。

PHP による包括的な変換

この課題に対処するには、PHP の包括的なスマート引用符変換関数は、関連するさまざまなエンコーディングと文字を完全に理解する必要があります。スマート クオート (Unicode、Windows コードページ 1252、その他のレガシー エンコーディングで定義されているものを含む)。

最適化された PHP 実装

次の最適化された PHP 実装は、すべての種類のスマート クォートを通常の引用符に変換します。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート