我想从XML文件中提取所有url,不包括url中的跟踪代码:
下面是一个URL的例子,它们都遵循相同的格式
http://www.domain.com.au/category/pXXXXXX?uni_id=XXXXXX&cid=1_demo_1
所以域之间唯一变化的是XXXXXX,它是一个数值
我想要的最终结果是
http://www.domain.com.au/category/pXXXXXX
我试着在下面的代码中使用preg_replace,但它最终用一个随机(我认为)数字替换了整个URL
$data = preg_replace('/http':'/'/www'.domain'.com.au'/[^'?]+([^.]+)/','',$data);
用preg_match()
:匹配XML中的URL
preg_match("(http://[^'s]+|ftp://[^'s]+)", $input, $matches);
然后,您应该使用preg_replace()
,并且应该只匹配字符串中需要删除的部分:
foreach($matches as $value)
{
preg_replace("('?[^'s]+)","",$value);
}