首页 > 解决方案 > PHP preg_replace 任何不是带有丹麦字符的字符串

问题描述

在 PHP 中,我尝试使用此函数替换任何不是字符的内容(az 和 æ、ø 和 å):

$word = preg_replace('/[^a-z]/i', '', $word);

但是,这也将替换 æ、ø 和 å 的丹麦字符。

使用以下工具测试不同的在线工具:

/[^a-zæøå]/i'

产生我想要的结果,但在我的 PHP 中使用它:

$word = preg_replace('/[^a-z]/i', '', $word);

没有产生我预期的结果。我希望有人能够解释为什么会这样,以及我应该改变什么以获得预期的行为。

测试数据:

Cykeltøj
Shouldn't
abæøå

预期输出:

Cykeltøj
Shouldnt
abæøå

第一个函数的实际输出:

Cykeltj
Shouldnt
ab

第二个函数的实际输出

*nothing*
*nothing*
*nothing*

标签: phpregex

解决方案


推荐阅读