2

以下の例のように文字列を編集したい:

$str = '$variable$123'

に変換

$str = '$variable$*123'

以下のコードを試しました:

<?php

$str = '$variable$123';
$str= preg_replace('/(\$\w*\$.[0-9]*)+/i', '$1*$2', $str);
echo $str;

?>

でも思い通りにはならなかった…

助けてください.....

4

2 に答える 2

3
$str = preg_replace('/(\$\w+\$)(\d+)/', '$1*$2', $str);

コメントで与えられた例に合うかもしれない別の(より単純な)バージョン

$str = preg_replace('/(\$\w+\$)/', '$1*', $str);
于 2013-02-05T10:40:12.957 に答える
1

答えがわかりました。

<?

$str1 = '$variable$123$variable2$';    
echo replace($str1);

$str2 = '$variable$123';
echo replace($str2);

function replace($str)
{
    $str = preg_replace('/(\$\w*\$)(\d+)/i', '$1*$2', $str);
    $str = preg_replace('/(\d+)(\$\w*\$)/i', '$1*$2', $str);        
    return $str
}

?>

出力:

$variable$*123*$variable2$

$variable$*123

于 2013-02-05T11:11:25.540 に答える