1

我想从 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);
4

1 回答 1

1

将 XML 中的 URL 与preg_match():

preg_match("(http://[^\s]+|ftp://[^\s]+)", $input, $matches);

然后,您应该使用preg_replace()并且应该只匹配需要删除的字符串部分:

foreach($matches as $value)
{
    preg_replace("(\?[^\s]+)","",$value);
}
于 2012-07-18T23:45:49.573 回答