UTF-8 でエンコードされた長い文字列があるとします。
そして、この文字列に存在するかどうかを検出したいとし$var
ます。
$var
常に単純な文字またはASCII文字の数字(例:)になると仮定すると"hello123"
、使用する必要はありませんか?他の関数と一致している限り、位置が文字単位で正しくなくてもかまいません。mb_strpos
iconv_strpos
例:
$var='hello123';
$pos=strpos($utf8string,$var);
if ($pos!==false) $uptohere=substr($ut8string,0,$pos);
上記のコードは'hello123'
、文字列に派手な UTF-8 文字が含まれているかどうかに関係なく、 までのすべてを抽出するというのは正しいですか? 私の論理は、 と の両方が互いに一貫しているためstrpos
(substr
これが一貫して間違っている場合でも)、それでも機能するはずです。