我正在努力用PHP完成这个正则表达式代码。我想减少以下的url,它保存在变量$ text中,以便它来自:
http://www.site.net/showthread.php?tid=324&pid=...
到:
showthread.php?tid=324
谢天谢地!
答案 0 :(得分:1)
为什么要使用正则表达式? parse_url方法应该为您提供所需的一切:http://php.net/manual/en/function.parse-url.php
编辑:工作示例
$someurl = 'http://www.site.net/showthread.php?tid=324&pid=...';
$urlParts = parse_url($someurl, PHP_URL_PATH | PHP_URL_QUERY);
$params = parse_str($urlParts['query']);
unset($params['pid']);
$queryString = http_build_query($params);
$newUrl = $urlParts['path'] . '?' . $queryString;
由于$ urlParts ['path']以/开头而你不想要,你甚至可以使用
$newUrl = substr($newUrl, 1);
并且完成了:)这有帮助吗?
答案 1 :(得分:0)
这应该这样做:
$url = 'http://www.site.net/showthread.php?tid=324&pid=...';
$pattern = "/showthread.php\?tid=[0-9]+/";
if (preg_match($pattern, $url, $match))
print_r($match);