我有以下数据。从PHP中的字符串中删除任何类型的URL?
例1
From : http://de.example.ch/biz/barbar-vintage-z%C3%BCrich
I want: /biz/barbar-vintage-z%C3%BCrich
并且如果有
http://www.example.ch/biz/barbar-vintage-z%C3%BCrich
然后 我也想
/biz/barbar-vintage-z%C3%BCrich
我有以下数据。从PHP中的字符串中删除任何类型的URL?
例1
From : http://de.example.ch/biz/barbar-vintage-z%C3%BCrich
I want: /biz/barbar-vintage-z%C3%BCrich
并且如果有
http://www.example.ch/biz/barbar-vintage-z%C3%BCrich
然后 我也想
/biz/barbar-vintage-z%C3%BCrich
如果你想通过正则表达式来做到这一点,那么你可以使用:
$s = 'http://de.example.ch/biz/barbar-vintage-z%C3%BCrich';
echo preg_replace('~^https?://[^/]+~', '', $s);
//=> /biz/barbar-vintage-z%C3%BCrich
否则如评论说的parse_url
函数也让你有这个值。
function getRelativePath($url)
{
$matches = array();
if (preg_match('#^(http://|https://)([^./]+\.)+[a-z]{2,3}(/.*)$#', $url, $matches) {
return $matches[3];
} else {
return false;
}
}
就试试这个:
<?php
$url = 'http://de.example.ch/biz/barbar-vintage-z%C3%BCrich';
echo preg_replace('~^https?://[^/]+~', '', $url);
?>
看一看使用['pathinfo'(HTTP:// php.net/manual/en/function.parse-url.php)来做到这一点。 – slugonamission 2014-12-27 17:19:31
只需运行['parse_url()'](https://php.net/manual/en/function.parse-url.php),我认为它是你想要的'path'元素。你不需要一个正则表达式。 – halfer 2014-12-27 17:20:25
不,但我试用了正则表达式 – 2014-12-27 17:20:40