我有一個像www.host.com
這樣的字符串,我需要從它開始刪除(在這種情況下爲www.
),以使其僅爲host.com
。有一些這樣的開始(如:m.
,wap.
等)。如何以有效和快速的方式做到這一點?什麼是從開始刪除字符串的最有效和最快捷的方式? (PHP微優化)
目前我使用這個代碼,但我覺得應該有一個更好/更快/更清潔的方式:
<?php
function _without_start($val, $start)
{
if(_starts($val, $start))
{
$len = mb_strlen($start);
$val = mb_substr($val, $len);
}
return $val;
}
function _starts($str, $needle)
{
return (mb_substr($str, 0, mb_strlen($needle)) === $needle);
}
/********************************************/
$host = 'www.host.com';
$remove_from_beginning = array('www.', 'wap.', 'admin.');
foreach($remove_from_beginning as $start)
{
$host = _without_start($host, $start);
}
var_dump($host);
使用'explode'和'in_array',而不是一個正則表達式。 –