У меня есть строка, как 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', а не регулярное выражение. –