Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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_match_all使用特殊表达式_Php_Preg Match_Preg Match All - Fatal编程技术网

如何在php中使用preg_match_all使用特殊表达式

如何在php中使用preg_match_all使用特殊表达式,php,preg-match,preg-match-all,Php,Preg Match,Preg Match All,我想preg\u match\u all() if(isset($matches[1])){ return $matches[1]; }else{ return false; } } $lines = file('jason.txt'); $i=0; foreach ($lines as $line_num => $line) { $str_arr = getInbetweenStrings('"Vehicle":', ',"

我想
preg\u match\u all()

    if(isset($matches[1])){
        return $matches[1];
    }else{
        return false;
    }
}
$lines = file('jason.txt');
$i=0;
foreach ($lines as $line_num => $line) {
    $str_arr = getInbetweenStrings('"Vehicle":', ',"Buyer":', $line);
    echo '<pre>';
    print_r($str_arr);
}
if(isset($matches[1])){
返回$matches[1];
}否则{
返回false;
}
}
$lines=文件('jason.txt');
$i=0;
foreach($line作为$line_num=>$line的行){
$str_arr=GetInBetween字符串(“‘车辆’,”买方“,$line);
回声';
打印($str_arr);
}
如果字符串为:

preg_match_all("/: \"?([\w ]+)/", $str, $matches,  PREG_PATTERN_ORDER);
以下是正则表达式:

print_r($matches);
然后打电话

Array
(
    [0] => Array
        (
            [0] => : "1992 Macho Camry CE
        )

    [1] => Array
        (
            [0] => 1992 Macho Camry CE
        )

)
将返回:

$phrase = $matches[1];
要获取字符串,请使用:

$str = '[{"Vehicle": "1992 Macho Camry CE"}, {"Vehicle": "2017 OtherCar"}]';
$vehicles = json_decode($str, true);
print_r($vehicles);

Array
(
    [0] => Array
        (
            [Vehicle] => 1992 Macho Camry CE
        )

    [1] => Array
        (
            [Vehicle] => 2017 OtherCar
        )
)
编辑: 由于源数据是json字符串,请使用函数转换数组中的所有数据:

$array = json_decode(file_get_contents('path/to/file.json'), true);
如果字符串为:

preg_match_all("/: \"?([\w ]+)/", $str, $matches,  PREG_PATTERN_ORDER);
以下是正则表达式:

print_r($matches);
然后打电话

Array
(
    [0] => Array
        (
            [0] => : "1992 Macho Camry CE
        )

    [1] => Array
        (
            [0] => 1992 Macho Camry CE
        )

)
将返回:

$phrase = $matches[1];
要获取字符串,请使用:

$str = '[{"Vehicle": "1992 Macho Camry CE"}, {"Vehicle": "2017 OtherCar"}]';
$vehicles = json_decode($str, true);
print_r($vehicles);

Array
(
    [0] => Array
        (
            [Vehicle] => 1992 Macho Camry CE
        )

    [1] => Array
        (
            [Vehicle] => 2017 OtherCar
        )
)
编辑: 由于源数据是json字符串,请使用函数转换数组中的所有数据:

$array = json_decode(file_get_contents('path/to/file.json'), true);

根据您的评论,您正在解析一个json文件

在这种情况下,不应使用正则表达式或字符串函数。相反,您应该直接解析json文件

要在多维数组结构中实现这一切,请执行以下操作:


根据您的评论,您正在解析一个json文件

在这种情况下,不应使用正则表达式或字符串函数。相反,您应该直接解析json文件

要在多维数组结构中实现这一切,请执行以下操作:



字符串是
“Vehicle”:“1992 Macho Camry CE”
?显示如何调用
GetInBetween string
函数它位于数组“QuoteRequestId”:343816132,“Vehicle”:“1992 Macho Camry CE”,“Buyer”:“Carolina Auto Body”,如果您从行的某个地方开始使用json,则最好解析它。不清楚,显示带有
$start,$end,$str
参数值的更多代码字符串为
车辆“:“1992 Macho Camry CE”
?显示如何调用
GetInBetween string
函数它位于数组“QuoteRequestId”:343816132,“车辆”:“1992 Macho Camry CE”,“买方”:“Carolina Auto Body”,如果您从最前面的某个地方开始使用json,您最好改为解析它。不清楚,请显示更多带有
$start,$end,$str
参数值的代码最初是哪种类型的数据?Json?一串或者已经是数组了?在这种情况下,我建议您使用
json\u decode
创建一个包含所有元素的数组。json是txt格式,但带有一些字符,如{}和[]来识别数据。您具体要求什么?嗯,最初的数据类型是什么?Json?一串或者已经是数组了?在这种情况下,我建议您使用
json\u decode
创建一个包含所有元素的数组。json是txt格式,但带有一些字符,如{}和[]来识别数据。您具体要求什么?让我发送u d文件。@bRigudash json是人类可读的文本。只要文本文件的内容构成有效的json字符串,您就可以很好地解析它。@bRigudash如果您不确定,您应该将文件的内容添加到您的问题中。这是一个大文件,我如何发送u@BhriguDash我不在乎你的json文件。如果它是有效的json,php可以解析它,如果它很大,只需解析一次并将结果存储在数据库中。让我发送u d文件。@bRigudash json是人类可读的文本。只要文本文件的内容构成有效的json字符串,您就可以很好地解析它。@bRigudash如果您不确定,您应该将文件的内容添加到您的问题中。这是一个大文件,我如何发送u@BhriguDash我不在乎你的json文件。如果它是有效的json,php可以解析它,如果它很大,只需解析一次并将结果存储在数据库中。