18

PHP で、utf8 でエンコードされたすべての Unicode空白文字の完全なリスト (文字列の配列) を取得する最もエレガントな方法は何ですか?

テストデータを生成するために必要です。

4

4 に答える 4

13

この電子メール(アーカイブはこちら) には、UTF-8、UTF-16、および HTML でエンコードされたすべての Unicode 空白文字のリストが含まれています。

アーカイブされたリンクで、「utf8_whitespace_table」関数を探します。

static $whitespace = array(
    "SPACE" => "\x20",
    "NO-BREAK SPACE" => "\xc2\xa0",
    "OGHAM SPACE MARK" => "\xe1\x9a\x80",
    "EN QUAD" => "\xe2\x80\x80",
    "EM QUAD" => "\xe2\x80\x81",
    "EN SPACE" => "\xe2\x80\x82",
    "EM SPACE" => "\xe2\x80\x83",
    "THREE-PER-EM SPACE" => "\xe2\x80\x84",
    "FOUR-PER-EM SPACE" => "\xe2\x80\x85",
    "SIX-PER-EM SPACE" => "\xe2\x80\x86",
    "FIGURE SPACE" => "\xe2\x80\x87",
    "PUNCTUATION SPACE" => "\xe2\x80\x88",
    "THIN SPACE" => "\xe2\x80\x89",
    "HAIR SPACE" => "\xe2\x80\x8a",
    "ZERO WIDTH SPACE" => "\xe2\x80\x8b",
    "NARROW NO-BREAK SPACE" => "\xe2\x80\xaf",
    "MEDIUM MATHEMATICAL SPACE" => "\xe2\x81\x9f",
    "IDEOGRAPHIC SPACE" => "\xe3\x80\x80",
);
于 2010-02-09T09:34:54.637 に答える
3

http://en.wikipedia.org/wiki/Space_%28punctuation%29#Spaces_in_Unicode

残念ながら、UTF-8 には対応していませんが、Web ページには文字が含まれているため、エディターにカット アンド ペーストすることができます (UTF-8 で保存されている場合)。または、http://www.fileformat.info/info/unicode/char/180E/index.htmで UTF-8 が得られます (「180E」を検索している 16 進数の UTF-16 値に置き換えます)。

これにより、@devioの優れた回答が見逃している追加の文字がいくつか提供されます。

于 2013-12-18T08:32:10.637 に答える