1

助けが必要です... ヘブライ語の php 文字列があり、部分文字列の検索位置が必要です。私のコード:

$string = "אבגד הוזח טי";
$find = "הוזח";
$pos = strpos($string, $find);
echo $pos;

strpos は部分文字列を見つけましたが、間違った位置の値を返します。5 ではなく $pos 値 9 を返します。なぜ strpos がヘブライ文字列で機能しないのですか? 助けてください。

4

2 に答える 2

3

ヘブライ語の文字列はマルチバイト文字を使用するため、ほとんどのラテン語ベースの文字のように、各「文字」は 1 文字ではなく 2 文字以上にすることができます。おそらく、アプリケーションのPHP Multibyte String Functionsを調べる必要があるでしょう。

于 2014-04-10T00:28:48.147 に答える
2

mb_strposを使用してみてください。内部文字エンコーディングをmb_internal_encodingUTF-8を使用するように設定する必要があります。

mb_internal_encoding("UTF-8");
$string = "אבגד הוזח טי";
$find = "הוזח";
$pos = mb_strpos($string, $find);
echo $pos; //5
于 2014-04-10T00:39:48.520 に答える