14,953
edits
m (→尋找中文、非英文的文字) |
m (→尋找中文、非英文的文字) |
||
| Line 376: | Line 376: | ||
</pre> | </pre> | ||
尋找欄位值包含中文字,中文字包含繁體中文與簡體中文,不包含標點符號 (例如 {{kbd | key = <nowiki>,</nowiki>}})、全形標點符號 (例如 {{kbd | key = <nowiki>,</nowiki>}})以及特殊符號,例如 Emoji:{{kbd | key = ⭐}}。 | |||
PHP: | PHP: exact match | ||
<pre> | <pre> | ||
// approach 1 | // approach 1 | ||
| Line 392: | Line 392: | ||
echo "部分文字不是中文字" . PHP_EOL; | echo "部分文字不是中文字" . PHP_EOL; | ||
} | } | ||
</pre> | |||
partial match ([http://sandbox.onlinephpfunctions.com/code/d780845d20877c0fd2e693b28ed02a10d250d39e online demo] hosted by [http://sandbox.onlinephpfunctions.com/ PHP Sandbox]) | |||
<pre> | |||
// approach 1 | |||
$string = '繁體中文-简体中文-English-12345-。,!-.,!-⭐'; | |||
$pattern = '/[\p{Han}]+/u'; | |||
preg_match_all($pattern, $string, $matches, PREG_OFFSET_CAPTURE); | |||
var_dump($matches); | |||
// approach 2 | |||
$string = '繁體中文-简体中文-English-12345-。,!-.,!-⭐'; | |||
$pattern = '/[\x{4e00}-\x{9fa5}]+/u'; | |||
preg_match_all($pattern, $string, $matches, PREG_OFFSET_CAPTURE); | |||
var_dump($matches); | |||
</pre> | </pre> | ||