$content = 'http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com ';
期望得到:
[0] => http://xx.uz.taobao.com [1] => http://yy.uz.taobao.com
方法一:
$pat = '/http:\/\/(.*)\.uz\.taobao\.com/is';
结果:
[0] => http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com
方法二:
$pat = '/http:\/\/(.*)\.uz\.taobao\.com/ius';
结果:
[0] => http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com [1]=>http://yy.uz.taobao.com
请问想得到我期望的值应该怎么写呢?
回复内容: 正文:
$content = 'http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com ';
期望得到:
[0] => http://xx.uz.taobao.com [1] => http://yy.uz.taobao.com
方法一:
$pat = '/http:\/\/(.*)\.uz\.taobao\.com/is';
结果:
[0] => http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com
方法二:
$pat = '/http:\/\/(.*)\.uz\.taobao\.com/ius';
结果:
[0] => http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com [1]=>http://yy.uz.taobao.com
请问想得到我期望的值应该怎么写呢?
$content = 'http://www.taobao.com http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com ';preg_match_all('/(https?:\/\/[^.]+\.uz\.taobao\.com)/i', $content, $match);print_r($match[1]);
so easy.
array(2) { [0] => string(23) http://xx.uz.taobao.com [1] => string(23) http://yy.uz.taobao.com }}
$content = ' sdfasdfasfas sdfsfasf http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com ';$urls = explode('http://', $content);array_shift($urls);$res = [];foreach($urls as &$url) { $item = explode('taobao.com', $url); $url = http://{$item[0]}taobao.com; if(preg_match('/uz\.taobao\.com/', $url)) $res[] = $url;}print_r($res);//array ( [0] => http://xx.uz.taobao.com [1] => http://yy.uz.taobao.com )
$content = ' sdfasdfasfas sdfsfasf http://mai.taobao.com http://xx.uz.taobao.com http://yy.uz.taobao.com ';preg_match_all('/(http[^taobao]*?uz\.taobao\.com)/i', $content, $match);print_r($match[1]);//array ( [0] => http://xx.uz.taobao.com [1] => http://yy.uz.taobao.com )
另有一个小建议是:一步分成两步,先把url分拆,再对每个url做匹配。这样可以增强语义的直观性。
