1

こんにちは、文字と数字「00G990010020100038」で構成される次の文字列があり、その文字を ASCII 値に置き換えたいと思います。実際、文字列内には文字が 1 つしか存在できず、位置が変化します。

preg_replace を使用してみましたが成功しませんでした。何か間違っているのかもしれません。

preg_replace("/[a-zA-Z]/", ord('$\1'), $mystring)

私のコードは文字「$」の ASCII 値を文字に置き換えますが、「G」(この場合) を置き換えたいと思います。

4

2 に答える 2

2

代わりに使用できますpreg_replace_callbackモディファイヤよりも効率的です。e

preg_replace_callback(
    "/[a-zA-Z]/",
    create_function('$matches','return ord($matches[0]);'),
    $mystring
);
于 2012-09-27T16:59:36.930 に答える
2

これを試して:

preg_replace("/[a-zA-Z]/e", "ord('\\0')", $mystring)

/e 修飾子を使用すると、代わりに PHP を実行できます。

于 2012-09-27T16:52:08.470 に答える