$str='$args[user][username]';
echo $str .'<br />';$str=preg_replace('|\$args\[(.*?)\]\[(.*?)\]|i','$args["$1"]["$2"]',$str);
echo $str;
试试

解决方案 »

  1.   


    $str='$args[user][username]';
    echo $str .'<br />';$str=preg_replace('|\$args\[(.*?)\]\[(.*?)\]|i','$args[\'$1\'][\'$2\']',$str);
    echo $str;
      

  2.   

    关键是$args数组不定,可以是$args[age],也可以是$args[user][friend][name]
      

  3.   

    如果不影响其他,你只要将[]中的替换就可以了,前提是不影响其他
    $str=preg_replace('|\[(.*?)\]|i',[\'$1\']',$str)