Php 预赛
有人能给我解释一下吗?我不熟悉preg_match_all filters,这段代码工作得很好,只是如果纬度和经度之一为负值,它不会返回负值Php 预赛,php,preg-match-all,Php,Preg Match All,有人能给我解释一下吗?我不熟悉preg_match_all filters,这段代码工作得很好,只是如果纬度和经度之一为负值,它不会返回负值 if ( preg_match_all( "#<td>\s+-?(\d+\.\d+)\s+</td>#", $output, $coords ) ) { list( $lat, $long ) = $coords[1]; echo "Latitude: $lat\nLongitude: $long\n"; } if
if ( preg_match_all( "#<td>\s+-?(\d+\.\d+)\s+</td>#", $output, $coords ) ) {
list( $lat, $long ) = $coords[1];
echo "Latitude: $lat\nLongitude: $long\n";
}
if(preg\u match\u all(“\s+-?(\d+\.\d+\s+\”,$output,$coords)){
列表($lat,$long)=$coords[1];
echo“纬度:$lat\n长度:$long\n”;
}
输出:
纬度:30.6963经度:71.6207
(经度缺少一个“-”)变量的值取决于括号内的代码所匹配的内容。将可选减号(-?
)移到括号内应该可以做到:
if ( preg_match_all( "#<td>\s+(-?\d+\.\d+)\s+</td>#", $output, $coords ) ) {
if(preg#u match#u all(“#\s+(?\d+\.\d+\s+)”,$output,$coords)){
有关php中preg的详细信息以及preg\u match\u all
的详细信息,请参见。coords
变量的值取决于括号内的代码匹配的内容。将可选减号(-?
)移动到括号内可以实现以下目的:
if ( preg_match_all( "#<td>\s+(-?\d+\.\d+)\s+</td>#", $output, $coords ) ) {
if(preg#u match#u all(“#\s+(?\d+\.\d+\s+)”,$output,$coords)){
有关php中preg的详细信息以及preg\u match\u all的详细信息,请参见。括号中没有您的符号。$coords[1]包含与(和)之间的部分匹配的正则表达式部分。但是,+-在括号之前,因此它们不是匹配和返回的内容的一部分。您的符号不在括号中。$coords[1]包含正则表达式中与(和)之间的部分匹配的部分。但是,+-在括号之前,因此它们不是匹配和返回的内容的一部分。如果您不喜欢preg\u match()
API,您可以使用-它真的很酷
$p = "<td>\s+(-?\d+\.\d+)\s+</td>"; // no delimiters :)
pattern($p)->match($output)->forEach(function (Match $match) {
$match->text();
// or
$match->group(1)->text();
// or check if it's matched
$match->group(1)->matched();
});
$p=“\s+(?\d+\.\d+\s+”;//无分隔符:)
模式($p)->match($output)->forEach(函数(match$match){
$match->text();
//或
$match->group(1)->text();
//或者检查是否匹配
$match->group(1)->matched();
});
如果你不喜欢preg\u match()
API,你可以使用它——它真的很酷
$p = "<td>\s+(-?\d+\.\d+)\s+</td>"; // no delimiters :)
pattern($p)->match($output)->forEach(function (Match $match) {
$match->text();
// or
$match->group(1)->text();
// or check if it's matched
$match->group(1)->matched();
});
$p=“\s+(?\d+\.\d+\s+”;//无分隔符:)
模式($p)->match($output)->forEach(函数(match$match){
$match->text();
//或
$match->group(1)->text();
//或者检查是否匹配
$match->group(1)->matched();
});
您能给我提供一个链接,让我了解preg\u match\u all中使用的所有过滤器,我需要学习this@unknown(yahoo):添加了一段关于文档的内容。你能给我提供一个链接,让我了解preg_match_all中使用的所有过滤器吗this@unknown(雅虎):增加了一段关于文档的内容