Preg_match 值 url 计数多个 url
Preg_match value url count for multiple url's
如何才能 preg_match 直到找不到更多结果?
我正在使用文件获取内容
例如我正在使用这个url
$updated_url = "https://www.testcompany.com/count=1";
$html2 = file_get_contents($updated_url);
preg_match_all('/<ul class="standard">(.*?)<\/ul>/s', $html2, $test);
1) 如果 > preg_match 为真 > 在 url 中添加 count = +1(转到 https://www.testcompany.com/count=2 url)并检查 preg 匹配值是否为真与否。
2) 循环 If 直到 preg_match 为假。
我想获取最后一个 url 与 preg 匹配值匹配的值。
你可以试试这个:
<?php
const URL_PATTERN = 'https://www.testcompany.com/count=%s';
$regex = '/<ul class="standard">(.*?)<\/ul>/m';
$previousMatchList = [];
$matchList = [];
for ($count = 1; ; $count++) {
$html2 = file_get_contents(sprintf(URL_PATTERN, $count));
preg_match_all($regex, $html2, $matchList);
if (!array_filter($matchList)) {
break;
}
$previousMatchList = $matchList;
}
$lastValue = array_pop($previousMatchList[0]);
var_dump($lastValue);
:)
如何才能 preg_match 直到找不到更多结果?
我正在使用文件获取内容
例如我正在使用这个url
$updated_url = "https://www.testcompany.com/count=1";
$html2 = file_get_contents($updated_url);
preg_match_all('/<ul class="standard">(.*?)<\/ul>/s', $html2, $test);
1) 如果 > preg_match 为真 > 在 url 中添加 count = +1(转到 https://www.testcompany.com/count=2 url)并检查 preg 匹配值是否为真与否。
2) 循环 If 直到 preg_match 为假。
我想获取最后一个 url 与 preg 匹配值匹配的值。
你可以试试这个:
<?php
const URL_PATTERN = 'https://www.testcompany.com/count=%s';
$regex = '/<ul class="standard">(.*?)<\/ul>/m';
$previousMatchList = [];
$matchList = [];
for ($count = 1; ; $count++) {
$html2 = file_get_contents(sprintf(URL_PATTERN, $count));
preg_match_all($regex, $html2, $matchList);
if (!array_filter($matchList)) {
break;
}
$previousMatchList = $matchList;
}
$lastValue = array_pop($previousMatchList[0]);
var_dump($lastValue);
:)