喜後只刪除3個字符我有這個字符串例如特定字符串
http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/it/clients/
我想bbbb-bbbbbbbbbb-2/
後刪除只有3個字符,所以基本上我想刪除it/
部分(這it/
部分不得永遠是it
但它可以es/
或en/
或不同語言的總是2個字符)
喜後只刪除3個字符我有這個字符串例如特定字符串
http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/it/clients/
我想bbbb-bbbbbbbbbb-2/
後刪除只有3個字符,所以基本上我想刪除it/
部分(這it/
部分不得永遠是it
但它可以es/
或en/
或不同語言的總是2個字符)
您可以使用正則表達式來選擇字符串的目標的一部分,並在preg_replace()
運行它。的代碼demo
$url = "http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/it/clients/";
echo preg_replace("@(.*)\w{2}/([^/]+/)[email protected]", "$1$2", $url);
查看結果在定義數組您的語言。如果未在數組中定義一種語言,URL將是相同的。
$mLanguages = ["en","it","bg","gr"];
$mURL = "http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/it/clients/";
$mURL = removeLanguageFromURL($mURL, $mLanguages);
echo $mURL; // Output http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/clients/
function removeLanguageFromUrl($mURL, $mLanguages){
foreach($mLanguages as $language){ // Search languages
if(strpos($mURL, $language) !== false) // If language is found in url remove it
$mURL = str_replace('/' . $language,'', $mURL);
}
return $mURL;
}
如果URL結構沒有改變,下面的工作將會生效。我假設你想要移除網址的語言部分。
<?php
$url = "http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/it/clients/";
$parsedURL = parse_url($url);
$path = explode('/', $parsedURL['path']);
unset($path[2]);
$url = "{$parsedURL['scheme']}://{$parsedURL['host']}";
$url .= implode('/', $path);
var_dump($url);
// string(47) "http://aaa-aaaa.com/bbbb-bbbbbbbbbb-2/clients/"
你嘗試過什麼嗎? –
'http:// aaa-aaaa.com/bbbb-bbbbbbbbbb-2 /' - 很難說如果這個僞URL是不變的。你可以用'parse_url()'(*和/或'substr()'*)來解決這個問題。 –
@u_mulder str_replace(「it /'',」「,$ url);這將刪除它,但它可以改變,所以它不會一直工作 – Alfred