簡體   English   中英

在PHP中使用preg_split從字符串中獲取單詞

[英]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)上。 我一點都不懂俄語,所以我無法推測為什么會這樣。

您可以使用字符映射程序輕松檢查以下內容:

屏幕快照charmap

$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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM