0

次の形式で動的な値を取得しています。preg_replace() を使用して余分な文字を取り除く方法を教えてください。

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

ここでは、" [ \ ] のみを削除し、コンマ ',' は削除したくないため、文字列が 1 つの場合は二重引用符のみを取得しますが、複数の場合はファーム内でコンマで区切られます。

次の出力が必要です。
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 に答える