PHP.mk документација

Својства на Unicode карактери

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

regexp.reference.unicode.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека regexp.reference.unicode.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
Својства на Unicode карактери

Референца за `regexp.reference.unicode.php` со подобрена типографија и навигација.

regexp.reference.unicode.php

Својства на Unicode карактери

Од 5.1.0, достапни се три дополнителни секвенци за бегство за совпаѓање на генерички типови на знаци кога UTF-8 режим е избрано. Тие се:

\p{xx}
знак со својството xx
\P{xx}
знак без својството xx
\X
проширена Unicode секвенца

Имињата на својствата претставени со xx погоре се ограничени на својствата на општата категорија на Unicode. Секој знак има точно едно такво својство, специфицирано со двобуквена кратенка. За компатибилност со Perl, негацијата може да се специфицира со вклучување на циркумфлекс помеѓу отворачката заграда и името на својството. На пример, \p{^Lu} е исто како \P{Lu}.

Ако е наведен само еден буква со \p or \P, ги вклучува сите својства што започнуваат со таа буква. Во овој случај, при отсуство на негација, заградите во секвенцата за бегство се опционални; овие два примери имаат исто дејство:

\p{L}
\pL
Поддржани кодови за својства
Својство Натпревари Белешки
C Друго    
Cc Контрола    
Cf Формат    
Cn Недоделен    
Co Приватна употреба    
Cs Заменски    
L Дејства Ги вклучува следните својства: Ll, Lm, Lo, Lt and Lu.
Ll Буква во мала азбука    
Lm Модификатор буква    
Lo Друга буква    
Lt Буква во насловна азбука    
Lu Голема буква    
M Марк    
Mc Ознака за празно место    
Me Затворачка ознака    
Mn Ознака што не се празни    
N Број    
Nd Децимален број    
Nl Број на буква    
No Друг број    
P Интерпункција    
Pc Спојна интерпункција    
Pd Цртичка интерпункција    
Pe Затворачка интерпункција    
Pf Завршна интерпункција    
Pi Почетна интерпункција    
Po Друга интерпункција    
Ps Отворачка интерпункција    
S Симбол    
Sc Симбол за валута    
Sk Модификатор симбол    
Sm Математички симбол    
So Друг симбол Вклучува емоџиња
Z Разделувач    
Zl Разделувач на редови    
Zp Разделувач на параграфи    
Zs Разделувач на празни места    

Проширени својства како што се InMusicalSymbols не се поддржани од PCRE.

Наведувањето на совпаѓање без разлика на големината на буквите (caseless) не влијае на овие секвенци за бегство. На пример, \p{Lu} секогаш се совпаѓа само со големи букви.

Поставките на Unicode знаците се дефинирани како припаѓање на одредени скрипти. Знак од една од овие поставки може да се совпадне со користење на името на скриптата. На пример:

  • \p{Greek}
  • \P{Han}

Оние што не се дел од идентификувана скрипта се групирани заедно како Common. Тековната листа на скрипти е:

Поддржани скрипти
Arabic Armenian Avestan Balinese Bamum
Batak Bengali Bopomofo Brahmi Braille
Buginese Buhid Canadian_Aboriginal Carian Chakma
Cham Cherokee Common Coptic Cuneiform
Cypriot Cyrillic Deseret Devanagari Egyptian_Hieroglyphs
Ethiopic Georgian Glagolitic Gothic Greek
Gujarati Gurmukhi Han Hangul Hanunoo
Hebrew Hiragana Imperial_Aramaic Inherited Inscriptional_Pahlavi
Inscriptional_Parthian Javanese Kaithi Kannada Katakana
Kayah_Li Kharoshthi Khmer Lao Latin
Lepcha Limbu Linear_B Lisu Lycian
Lydian Malayalam Mandaic Meetei_Mayek Meroitic_Cursive
Meroitic_Hieroglyphs Miao Mongolian Myanmar New_Tai_Lue
Nko Ogham Old_Italic Old_Persian Old_South_Arabian
Old_Turkic Ol_Chiki Oriya Osmanya Phags_Pa
Phoenician Rejang Runic Samaritan Saurashtra
Sharada Shavian Sinhala Sora_Sompeng Sundanese
Syloti_Nagri Syriac Tagalog Tagbanwa Tai_Le
Tai_Tham Tai_Viet Takri Tamil Telugu
Thaana Thai Tibetan Tifinagh Ugaritic
Vai Yi            

На \X бегство се совпаѓа со Unicode проширен графемен кластер. Проширен графемен кластер е еден или повеќе Unicode знаци што се комбинираат за да формираат еден глиф. Всушност, ова може да се смета како еквивалент на Unicode на . бидејќи ќе совпадне еден составен знак, без оглед на тоа колку индивидуални знаци се всушност искористени за негово прикажување.

Во верзиите на PCRE постари од 8.32 (што одговара на верзиите на PHP пред 5.4.14 кога се користи вклучената библиотека PCRE), \X е еквивалентно на (?>\PM\pM*). Тоа е, совпаѓа знак без својство "mark", проследен со нула или повеќе знаци со својство "mark", и ја третира секвенцата како атомска група (види подолу). Знаците со својство "mark" се типично акценти што влијаат на претходниот знак.

Совпаѓањето на знаци по Unicode својство не е брзо, бидејќи PCRE мора да пребарува структура што содржи податоци за над петнаесет илјади знаци. Затоа традиционалните секвенци за бегство како што се \d and \w не користат Unicode својства во PCRE.

Белешки од корисници Управување со PDO конекции

huhwatnouDONTspamPLEASE na hotmail dot com
пред 10 години
To select UTF-8 mode for the additional escape sequences (\p{xx}, \P{xx}, and \X) , use the "u" modifier (see http://php.net/manual/en/reference.pcre.pattern.modifiers.php).

I wondered why a German sharp S (ß) was marked as a control character by \p{Cc} and it took me a while to properly read the first sentence: "Since 5.1.0, three additional escape sequences to match generic character types are available when UTF-8 mode is selected. " :-$ and then to find out how to do so.
merkur na caucasus dot net
пред 15 години
An excellent article explaining all these properties can be found here: http://www.regular-expressions.info/unicode.html
Стив
пред 2 години
Examples are always useful! See https://unicodeplus.com/category for more.

C    Other     
Cc   Control      (Unicode code points in the ranges U+0000-U+001F and U+007F-U+009F)
Cf   Format       (Soft hyphen (U+00AD), zero width space (U+200B), etc.)
Cn   Unassigned   (Any code point that is not in the Unicode table)
Co   Private use     
Cs   Surrogate    (Characters in the range U+D800 to U+DFFF, which are invalid in utf-8)

L    Letter
Ll   Lower case letter (a-z, µßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ and more)
Lm   Modifier letter   (Letter-like characters that are usually combined with others, but here they stand alone:
                        ʰʱʲʳʴʵʶʷʸʹʺʻʼʽʾʿˀˁˆˇˈˉˊˋˌˍˎˏːˑˠˡˢˣˤˬˮʹͺՙ and more)
Lo   Other letter      (ªºƻǀǁǂǃʔ and many more ideographs and letters from unicase alphabets)
Lt   Title case letter (DžLjNjDzᾈᾉᾊᾋᾌᾍᾎᾏᾘᾙᾚᾛᾜᾝᾞᾟᾨᾩᾪᾫᾬᾭᾮᾯᾼῌῼ)
Lu   Upper case letter (A-Z, ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ and more)
L&   Ordinary letter   (Any character that has the Lu, Ll, or Lt property)

M    Mark
Mc   Spacing mark      (None in latin scripts)
Me   Enclosing mark    (Combining enclosing square (U+20DE) like in a⃞ , combining enclosing circle backslash (U+20E0) like in a⃠)
Mn   Non-spacing mark  (Combining diacritical marks U+0300-U+036f, like the accents on this letter a: áâãāa̅ăȧäảåa̋ǎa̍a̎ȁa̐ȃ)

N    Number      
Nd   Decimal number (0123456789, ٠١٢٣٤٥٦٧٨٩ and digits in many other scripts.)
Nl   Letter number  (ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫⅬⅭⅮⅯⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅺⅻⅼⅽⅾⅿ and some more)
No   Other number   (⁰¹²³⁴⁵⁶⁷⁸⁹ ₀₁₂₃₄₅₆₇₈₉ ½⅓⅔¼¾⅕⅖⅗⅘⅙⅚⅐⅛⅜⅝⅞⅑⅒ ①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳, etc.)

P    Punctuation      
Pc   Connector punctuation (_ underscore (U+005F), ‿ undertie U+203F, ⁀ character tie (U+2040), etc.)
Pd   Dash punctuation      (- hyphen-minus (U+002D), ‐ hyphen (U+2010), ‑ non-breaking hyphen (U+2011), ‒ figure dash (U+2012),
                            – en dash (U+2013), — em dash (U+2014), ― horizontal bar (U+2015), etc.)
Pe   Close punctuation     (right parenthesis, bracket, or brace: `)` (U+0029), `]` (U+005D), `}` (U+007D), etc.) 
Pf   Final punctuation     (right quotation marks: » (U+00BB), ’ (U+2019), ” (U+201D), etc.)
Pi   Initial punctuation   (left  quotation marks: « (U+00AB), ‘ (U+2018), “ (U+201C), etc.)
Po   Other punctuation     (!"#%&'*,./:;?@\¡§¶·¿)
Ps   Open punctuation      (left parenthesis, bracket, or brace: `(` (U+0028), `[` (U+005B), `{` (U+007B), etc.) 

S    Symbol      
Sc   Currency symbol     ($¢£¤¥, ₠ ₡ ₢ ₣ ₤ ₥ ₦ ₧ ₨ ₩ ₪ ₫ € ₭ ₮ ₯ ₰ ₱ ₲ ₳ ₴ ₵ ₶ ₷ ₸ ₹ ₺ ₻ ₼ ₽ ₾ ₿ (U+20A0-U+20BF), etc.)
Sk   Modifier symbol     (Symbol-like characters that are usually combined with others, but here they stand alone:
                          ^`¨¯´¸ and more)
Sm   Mathematical symbol (+<=>|~¬±×÷϶ and many more)
So   Other symbol        (¦ broken bar (U+00A6), © copyright sign (U+00A9), ® registered sign (U+00AE), ° degree sign (U+00B0);
                          arrows, signs, emojis and many many more)

Z    Separator      
Zl   Line separator      (line separator (U+2028))
Zp   Paragraph separator (paragraph separator (U+2029))
Zs   Space separator     (space, no-break space, en quad, em quad, en space, em space, figure space, thin space, hair space, etc.)
xuantoaiph на gmail точка com
12 години пред
My country, Vietnam, have our own alphabet table:
http://en.wikipedia.org/wiki/Vietnamese_alphabet
I hope PHP will support better than in Vietnamese.
o_shes01 на uni-muenster точка de
пред 15 години
For those who wonder: 'letter_titlecase' applies to digraphs/trigraphs, where capitalization involves only the first letter. 
For example, there are three codepoints for the "LJ" digraph in Unicode: 
  (*) uppercase "LJ": U+01C7 
  (*) titlecase "Lj": U+01C8 
  (*) lowercase "lj": U+01C9
php на lnx-bsp точка net
пред 8 години
Not made clear in the top of page explanation, but these escaped character classes can be included within square brackets to make a broader character class. For example:

<?php preg_match( '/[\p{N}\p{L}]+/', $data ) ?>

Will match any combination of letters and numbers.
suit на rebell точка at
пред 16 години
these properties are usualy only available if PCRE is compiled with "--enable-unicode-properties"

if you want to match any word but want to provide a fallback, you can do something like that: 

<?php
if(@preg_match_all('/\p{L}+/u', $str, $arr) {
  // fallback goes here
  // for example just '/\w+/u' for a less acurate match
}
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.