[英]get words from string using preg_split in php
我正在嘗試使用preg_split從php中的字符串獲取單詞:
$result = preg_split('/[^A-Za-z]+/', $text)
但這是行不通的,有些單詞被拆分了,我在做什么錯?
編輯:事實是它不適用於俄語文本=“фываывафыфываф”;
$result = preg_split('/[^А-яа-я]+/', $text)
[^A-Za-z]
僅考慮ASCII字母。 您需要拆分Unicode非字母:
$result = preg_split('/\P{L}+/u', $subject);
[^А-Яа-я]+
也不起作用,因為在Unicode字符集中, А
(0x0410)不是第一個基里爾字母,而я
(0x044F)不是最后一個字母。 這些榮譽似乎出現在Ё
(0x0401)和ӹ
(0x04F9)上。 我一點都不懂俄語,所以我無法推測為什么會這樣。
您可以使用字符映射程序輕松檢查以下內容:
$str ="As sdf fdasf";
$result = preg_split('/[\b ]/', $str);
編輯:
$result = preg_split('/\b\s+/', $str); //this is not for Unicode
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.