1

我得到了这个功能:

preg_match("/öppet/iu", $string);

如果将“ö”写成 html 实体会怎样?像这样:ö或者Ö 有没有办法找到它们?

4

3 回答 3

2

当然,只需在匹配之前解码 HTML 实体:

preg_match("/öppet/iu", html_entity_decode($string));

这对其他角色也有好处,例如,如果你想ä在将来的某个时候也匹配。

于 2012-04-16T13:56:48.300 回答
1

你可以这样做:

preg_match("/(?:ö|ö)ppet/iu", $string);

?:防止匹配被捕获以节省内存,是“|或”

于 2012-04-16T13:57:28.723 回答
1

如果您使用低于 5.4.0 的 PHP 版本,则必须指定使用 UTF-8 编码:

preg_match("/öppet/iu", html_entity_decode($string, ENT_COMPAT, 'UTF-8'));

希望这会有所帮助。

于 2012-07-26T00:29:48.013 回答