PHP-preg_replace()“到”之间“”
替换为“Beteen: 我的问题在于json_decode,即创建此json的数据库 例如: 到PHP-preg_replace()“到”之间“”,php,regex,replace,preg-replace,Php,Regex,Replace,Preg Replace,替换为“Beteen: 我的问题在于json_decode,即创建此json的数据库 例如: 到 我真的需要更换preg_,如下所示: $return=preg_replace'/++/',$1$2,$return;您可以先使用数组,然后替换每个条目中的“宽度”。然后使用。如果您的数据是json格式的,请先使用 如果只是为了防止字符串内部出现进一步的错误,您还可以查看一下。这里的想法是,我们不能替换所有的双引号,所以我想创建一种黑名单。双引号前面加上:{,不应该被替换,双引号后面的内容也是一样:
我真的需要更换preg_,如下所示:
$return=preg_replace'/++/',$1$2,$return;您可以先使用数组,然后替换每个条目中的“宽度”。然后使用。如果您的数据是json格式的,请先使用
如果只是为了防止字符串内部出现进一步的错误,您还可以查看一下。这里的想法是,我们不能替换所有的双引号,所以我想创建一种黑名单。双引号前面加上:{,不应该被替换,双引号后面的内容也是一样:},。我必须删除换行符/空格以使其正常工作:
$json = '{"LOGRADOURO":"Joana D"Arc",
"NUMERO":"257",
"COMPLEMENTO":"",
"BAIRRO":"barreiro"}';
$json = preg_replace(
array('/",[\s\r\n]+"/', '/([^\:\{\,])(")([^\:\}\,])/'),
// vvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvv
// To remove the new lines Replacing valid " with '
array('","', "$1'$3")
, $json);
echo $json; // {"LOGRADOURO":"Joana D'Arc","NUMERO":"257","COMPLEMENTO":"","BAIRRO":"barreiro"}
请看。使用一种体面的方法来生成JSON?这非常有用。@johncode你看到了关于WHYT的吗?我做了一个我认为更合适的解释。想法?@Polish Prince。谢谢你指出。我喜欢你改进后的评论。友好且信息更丰富。我会继续使用它。这个问题的发生是因为data来自bdI我真的需要一个preg_replace,比如:$return=preg_replace'/++/',$1$2,$return;好吧,很遗憾我帮不了你。Regex不是我的事:我的问题是json_decode,创建这个的数据库json@JorgeJúnior那么也许你应该在DB级别解决这个问题?如果你能设法摆脱双重困境的话在DArc->D\Arc中,您将拥有一个有效的JSON…@HamZaDzCyberDeV我认为问题只是名称不正确。但我真的不知道为什么数据库中有双引号。它起作用了!非常感谢
{"LOGRADOURO":"Joana D'Arc",
"NUMERO":"257",
"COMPLEMENTO":"",
"BAIRRO":"barreiro"}
$str = array(
'LOGRADOURO'=> 'Joana D"Arc',
'NUMERO'=>'257',
'COMPLEMENTO'=>'',
'BAIRRO'=>'barreiro'
);
foreach($str as $sk => $s) {
$str[$sk] = str_replace('"', "'", $s);
}
echo json_encode($str);
$json = '{"LOGRADOURO":"Joana D"Arc",
"NUMERO":"257",
"COMPLEMENTO":"",
"BAIRRO":"barreiro"}';
$json = preg_replace(
array('/",[\s\r\n]+"/', '/([^\:\{\,])(")([^\:\}\,])/'),
// vvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvv
// To remove the new lines Replacing valid " with '
array('","', "$1'$3")
, $json);
echo $json; // {"LOGRADOURO":"Joana D'Arc","NUMERO":"257","COMPLEMENTO":"","BAIRRO":"barreiro"}