UTF-8 である場合とそうでない場合がある別の文字列 (干し草の山) 内の 2 文字の Unicode 文字列 (針) の単純な検索の処理に問題があります。
問題の一部は、 で使用するコードを指定する方法がわからないこととstrpos
、コードの特別なサポートを使用して PHP をコンパイルする必要があるかどうか、または使用mb_strpos
しようとしているものを使用する必要があるかどうかがわからないことです。利用できない場合もありますので避けてください。
すなわち。たとえば、針は U+56DE U+590D
(スペースなしで)
preg_match ではそうかもしれませんpreg_match("@\x{56DE}\x{590D}@",$haystack)
が、実際にはどちらが利用できない可能性があり、とにかく@u
取得します。Compilation failed: character value in \x{...} sequence is too large
とにかく、preg_match は strpos よりもかなり遅くなる可能性があるため、使用したくありません (検索する必要がある他のシーケンスがあります)。
1 バイト シーケンス (おそらく 5 ~ 6 文字)に変換U+56DE U+590D
し、strpos を介して検索できますか? もしそうなら、それをバイトに変換する方法がわかりません。
とにかく、PHPでインラインでユニコードを指定するにはどうすればよいですか? PRCEの外ということですか?
$blah="\u56DE\u590D";
動作しませんか?
アイデアをありがとう!