私はこの機能を得ました:
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'));
これが役立つことを願っています。