-3

文字と数字を含む UTF8 文字列があります。例えば:

"Hello World 37. What? 24 last 6650"

数字だけを逆にしたいのですが、数字は同じ場所に保ちます。出力は次のようになります。

"Hello World 73. What? 42 last 0566"

4

4 に答える 4

3
echo preg_replace_callback('/\d+/', function (array $m) { return strrev($m[0]); }, $string);
于 2013-11-05T11:15:20.750 に答える
0

質問を投稿する前に、私はそれについて考え、自分に合ったアイデアを得たので、データベースを充実させるためにこの質問を投稿しているだけです.

function reverseNumbersInString($str){
    $tokens = explode(" ", $str);
    $res = "";
    for ($i = 0; $i < sizeof($tokens); $i++){
        if (intval($tokens[$i] > 0 )){
            $tokens[$i] = strrev($tokens[$i]);
        }
        $res .= " " . $tokens[$i];
    }
    return $res;
}
于 2013-11-05T11:15:20.530 に答える