0

我得到以下格式的动态值,谁能帮助我如何使用 preg_replace() 去除多余的字符?

case1)  $string='""14""';  
case2)  $string='""string1""';  
case3)  $string='"[\"string1\", \"string2\"]"';  
case4) $string='"[\"string1\", \"string21\", \"string3\"]"';  

在这里,我只想摆脱“ [ \ ] 而不是逗号',',所以如果它是一个字符串,我只会得到双引号,但如果它不止一个,我会在农场逗号分隔。

我需要以下输出。
case1 ) 14
case2) string1
case3) string1,string2
case4) string1,string21,string3

在此先感谢您的帮助...

4

1 回答 1

0

正如其他人所提到的,这看起来像损坏的 JSON。但是仅仅调用 json_decode 是行不通的,因为字符串周围有额外的引号。尝试像这样剥离它们:

$str = substr($str, 1, -1);
$vals = json_decode($str);
print_r($vals);

如果您真的希望它的格式与您在问题中提到的完全一样,您可以继续

$str = implode(',', $vals);
print_r($str);
于 2013-03-12T22:35:48.900 回答