如果您使用兩種模式並連續運行它們,您將能夠消除第一部分,然後消除第二部分。
模式1將找到http或https然後://。然後,它會讀取所有不是斜槓的內容,直到第一個斜槓有效地從url中刪除域。最後,它會包含你不想要的斜線。
模式2將採用從want-to...
開始的字符串,並找到第一個斜槓和其後的所有內容。
$url = "https://www.domain.com/want-to-keep-35/?idku=rbxbbgh3dKqn";
$pattern1 = "/https?\:\/\/[^\/]+\//";
$pattern2 = "/\/.*/";
$url = preg_replace($pattern1, '', $url);
$url = preg_replace($pattern2, '', $url);
echo $url;
產生
want-to-keep-35
您也可以傳遞的模式陣列,並如果就這麼簡單,你可以用下面簡單的辦法,將爲了
$url = "https://www.domain.com/want-to-keep-35/?idku=rbxbbgh3dKqn";
$patterns = array("/https?\:\/\/[^\/]+\//", "/\/.*/");
$url = preg_replace($patterns, '', $url);
echo $url;
爲什麼不Zoid^H^H^H ['parse_url'(HTTP:// PHP。淨/ parse_url)? (和'preg_replace()',順便說一句,不會更新傳遞的變量,它*返回*修改的字符串。) – mario
_「我只有這個部分...」_我很困惑,你想刪除該部分或者得到那部分? – someOne