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 に答える