将包含瑞典字符的字符串拆分为单词

3
我正在尝试使用php函数preg_split将带有文本的字符串拆分成单词。
$words = preg_split('/\W/u',$text);

除了瑞典字符“åäö”外,它的工作良好。使用utf8_encode或decode也无法解决问题。我猜测preg_split仅适用于单字节字符,而瑞典字符是多字节字符。有没有其他方法可以解决这个问题?


您也想用 Perl 实现吗?为什么要加 Perl 标签呢? - Ether
啊,呵呵,不好意思,但Perl程序员通常更擅长正则表达式 :) - Martin
2个回答

3
为什么要关注特定字符?
$text = "Jag har hört så mycket om dig.";
$words = explode(" ", $text);
/*
Array
(
    [0] => Jag
    [1] => har
    [2] => hört
    [3] => så
    [4] => mycket
    [5] => om
    [6] => dig.
)
*/

啊,我想原因是我想根据任何不是 a-ö 的内容进行拆分。但也许我可以循环遍历数组,然后这样做? - Martin

1

mb_split 来拯救(我自己以前也遇到过这些问题,现在才找到答案 :))

mb_regex_encoding('UTF-8');
mb_split('\W', $text);

HTH


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接