文字列を解析しようとしていますが、文字または数字ではないもので分割します
$parse_query_arguments = preg_split("/[^a-z0-9]+/i", 'København');
そしてmysqlクエリを構築します。preg_split をスキップして文字列を直接入力しようとしても、「K」と「benhavn」という 2 つの異なる文字列に分割されます。
これらの問題にどのように対処できますか?
文字列を解析しようとしていますが、文字または数字ではないもので分割します
$parse_query_arguments = preg_split("/[^a-z0-9]+/i", 'København');
そしてmysqlクエリを構築します。preg_split をスキップして文字列を直接入力しようとしても、「K」と「benhavn」という 2 つの異なる文字列に分割されます。
これらの問題にどのように対処できますか?
そのようなリテラル文字を使用している場合、a-zアクセント付きの文字とは一致しません。より一般的なマッチングを行うために、利用可能なさまざまな文字クラスを使用したい場合があります。
/[[:alpha:][:digit]]/
この[:alpha:]セットは よりも範囲がはるかに広いですa-z。文字の照合は文字コードに基づいて行われることを覚えておいてください。a-z文字どおり、文字列aとzインデックスの間の文字を順番に使用します。のような文字øは、アルファベット順でこの範囲内にあっても、この範囲外にあります。
コンピュータは ASCII-abetic (UNICODEical?) 順で動作します。