PHP에서 모든 UTF-8 공백 문자의 전체 목록을 얻는 가장 간단한 방법

StackOverflow https://stackoverflow.com/questions/2227921

  •  19-09-2019
  •  | 
  •  

문제

PHP에서 모든 유니 코드의 전체 목록 (배열)을 얻는 가장 우아한 방법은 무엇입니까? 공백 문자, UTF8에서 인코딩?

테스트 데이터를 생성하려면 필요합니다.

도움이 되었습니까?

해결책

이 이메일 UTF-8, UTF-16 및 HTML로 인코딩 된 모든 유니 코드 공백 문자 목록이 포함되어 있습니다.

편집하다

원래 2 월 9 일 '10 (!)에 응답했습니다. 실제로 정보가 구식이라면 불만을 제기하지 않고 자신의 답변을 추가 할 수 있습니다. 내 답변에 언급 된 URL에 대한 Google만이 담당자를 얻습니다.

메일이 보관되었습니다 여기 (몇 초가 걸렸습니다), 공백 테이블은 소개에서도 언급되었습니다.

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",
);

다른 팁

몇 년 후,이 질문은 유니 코드 공백 문자를 찾을 때 여전히 Google에서 최고의 결과를 얻었습니다. Devio의 대답은 훌륭하지만 불완전합니다. 이 글을 쓰는 시점 (2017 년 10 월) Wikipedia는 여기에 공백 문자 목록이 있습니다. https://en.wikipedia.org/wiki/whitespace_character

이 목록은 25 개의 코드 포인트를 지정하는 반면 현재 허용되는 답변 목록은 18입니다. 7 개의 다른 코드 포인트를 포함하여 목록은 다음과 같습니다.

U+0009  character tabulation
U+000A  line feed
U+000B  line tabulation
U+000C  form feed
U+000D  carriage return
U+0020  space
U+0085  next line
U+00A0  no-break space
U+1680  ogham space mark
U+180E  mongolian vowel separator
U+2000  en quad
U+2001  em quad
U+2002  en space
U+2003  em space
U+2004  three-per-em space
U+2005  four-per-em space
U+2006  six-per-em space
U+2007  figure space
U+2008  punctuation space
U+2009  thin space
U+200A  hair space
U+200B  zero width space
U+200C  zero width non-joiner
U+200D  zero width joiner
U+2028  line separator
U+2029  paragraph separator
U+202F  narrow no-break space
U+205F  medium mathematical space
U+2060  word joiner
U+3000  ideographic space
U+FEFF  zero width non-breaking space

http://en.wikipedia.org/wiki/space_%28punctuation%29#spaces_in_unicode

불행히도 UTF-8을 제공하지는 않지만 웹 페이지에 캐릭터가 있으므로 편집자에 자르고 붙여 넣을 수 있습니다 (UTF-8에서 저장하는 경우). 대안 적으로, http://www.fileformat.info/info/unicode/char/180e/index.htm UTF-8을 제공합니다 ( "180E"를 찾고있는 HEX UTF-16 값으로 바꾸십시오).

이것은 또한 @devio의 훌륭한 답변이 놓친 몇 가지 추가 캐릭터를 제공합니다.

0x9 b'\t'
0xa b'\n'
0xb b'\x0b'
0xc b'\x0c'
0xd b'\r'
0x20 b' '
0x85 b'\xc2\x85'
0xa0 b'\xc2\xa0'
0x1680 b'\xe1\x9a\x80'
0x180e b'\xe1\xa0\x8e'
0x2000 b'\xe2\x80\x80'
0x2001 b'\xe2\x80\x81'
0x2002 b'\xe2\x80\x82'
0x2003 b'\xe2\x80\x83'
0x2004 b'\xe2\x80\x84'
0x2005 b'\xe2\x80\x85'
0x2006 b'\xe2\x80\x86'
0x2007 b'\xe2\x80\x87'
0x2008 b'\xe2\x80\x88'
0x2009 b'\xe2\x80\x89'
0x200a b'\xe2\x80\x8a'
0x200b b'\xe2\x80\x8b'
0x200c b'\xe2\x80\x8c'
0x200d b'\xe2\x80\x8d'
0x2028 b'\xe2\x80\xa8'
0x2029 b'\xe2\x80\xa9'
0x202f b'\xe2\x80\xaf'
0x205f b'\xe2\x81\x9f'
0x2060 b'\xe2\x81\xa0'
0x3000 b'\xe3\x80\x80'
0xfeff b'\xef\xbb\xbf'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top