Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-preg_replace()“到”之间“”_Php_Regex_Replace_Preg Replace - Fatal编程技术网

PHP-preg_replace()“到”之间“”

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格式的,请先使用 如果只是为了防止字符串内部出现进一步的错误,您还可以查看一下。这里的想法是,我们不能替换所有的双引号,所以我想创建一种黑名单。双引号前面加上:{,不应该被替换,双引号后面的内容也是一样:

替换为“Beteen: 我的问题在于json_decode,即创建此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"}