我有一个网站模块,它从 Twitter 收集一些推文并将它们拆分为单词并放入数据库中。然而,由于推文通常包含土耳其语字符 [ıöüğşçйÖÜĞŞÇ],我的模块无法正确划分单词。
例如,短语 Aynı labda çalıştığım 被拆分为 Ayn、labda 和 alıştığım,但它应该分为 Aynı、labda 和 çalıştığım
这是我完成这项工作的代码:
preg_match_all('/(\A|\b)[A-Z\Ç\Ö\Ş\İ\Ğ\Ü]?[a-z\ç\ö\ş\ı\ğ\ü]+(\Z|\b)/u', $text,$a);
您认为这里有什么问题吗?
重要提示:我并不愚蠢,不会用空格字符分割文本,我需要这些字符完全匹配。我不需要任何数字或特殊字符,例如 [,.!@#$^&*123456780]。
我需要一个正则表达式来分割它 kısa isimleri ile“Vic”和“Wick”vardı。
进入此:
kısa
isimleri
ile
Vic
ve
Wick
vardı
更多示例:
我们是@test
We
re
test
Föö bär,我们@test to0 ÅäÖ - 123 好吗? kthxbai?被分成这样,
b
r
we
re
test
ok
kthxbai
但我希望它是:
Föö
bär
we
re
test
ÅÄÖ
ok
kthxbai
最佳答案
我会看一下 mb_split()
.
$str = 'We\'re @test Aynı labda çalıştığım';
var_dump(\mb_split('\s', $str));
给我:
array
0 => string 'We're' (length=5)
1 => string '@test' (length=5)
2 => string 'Aynı' (length=5)
3 => string 'labda' (length=5)
4 => string 'çalıştığım' (length=16)
关于php - 如何在 PHP 中使用正则表达式将文本拆分为 Unicode 单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048538/