我有以下數據。從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