php
2013-03-12 3 views 0 likes 
0

Я получаю динамическое значение в следующем формате, может ли кто-нибудь помочь мне, как избавиться от дополнительных символов, используя preg_replace()?PHP preg_replace() regex

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

здесь я хочу, чтобы избавиться от всего "[\], но не запятая„“, так что если это одна строка я получит только двойные кавычки, но если это больше, чем один я буду получать в фермы разделенной запятая.

я нуждаюсь в следующем выходе.
case1) 14
Случай 2) строка1
Вопроса 3) строка1, строка2
case4) строка1, string21, string3

Спасибо s за вашу помощь ...

+5

выглядит искаженной JSON ... не вы бы лучше фиксируя все, что порождает это? –

+0

Можете ли вы добавить ожидаемый результат для каждого заданного ввода? –

+0

Мне нужно следующее. – user1642408

ответ

0

Как уже упоминалось, это похоже на искалеченный JSON. Но просто вызов json_decode на нем не будет работать из-за дополнительных кавычек вокруг строки. Попробуйте избавляя их, как это:

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

, если вы действительно хотите отформатирован именно так, как вы упомянули в вашем вопросе, вы можете продолжить

$str = implode(',', $vals); 
print_r($str); 
Смежные вопросы