function to_standard_format($url) {
$pattern = '#(https?://)?\w+\.example.com(?=[/\s]|$)#i';
return preg_replace($pattern, 'http://www.example.com', $url);
}
var_dump(to_standard_format('http://www.example.com'));
var_dump(to_standard_format('https://in.example.com'));
var_dump(to_standard_format('http://uk.example.com'));
var_dump(to_standard_format('http://uk.example.com/blah'));
var_dump(to_standard_format('uk.example.com'));
var_dump(to_standard_format('http://www.example.com.au'));
var_dump(to_standard_format('uk.another-example.com'));
打印
string(22) "http://www.example.com"
string(22) "http://www.example.com"
string(22) "http://www.example.com"
string(27) "http://www.example.com/blah"
string(22) "http://www.example.com"
string(25) "http://www.example.com.au"
string(22) "uk.another-example.com"
example.com會像example1.com每次變化,所以我不能代替它的完整路徑,只有我想取代英國。或等到www。 – Gowri
@gowri,我幾分鐘前稍微更新了答案。已更新的答案使用肯定的前瞻斷言,並且不會更改完整路徑。 – falsetru