我得到了这个功能:
preg_match("/öppet/iu", $string);
如果将“ö”写成 html 实体会怎样?像这样:ö
或者Ö
有没有办法找到它们?
当然,只需在匹配之前解码 HTML 实体:
preg_match("/öppet/iu", html_entity_decode($string));
这对其他角色也有好处,例如,如果你想ä
在将来的某个时候也匹配。
你可以这样做:
preg_match("/(?:ö|ö)ppet/iu", $string);
?:
防止匹配被捕获以节省内存,是“|
或”
如果您使用低于 5.4.0 的 PHP 版本,则必须指定使用 UTF-8 编码:
preg_match("/öppet/iu", html_entity_decode($string, ENT_COMPAT, 'UTF-8'));
希望这会有所帮助。