Ich habe eine Zeichenfolge wie www.host.com
und ich muss beginnend davon (in diesem Fall www.
) entfernen, um es nur host.com
zu machen. Es gibt Array dieser Anfänge (wie: m.
, wap.
und so weiter). Wie geht es effektiv und schnell?Was ist der effektivste und schnellste Weg, um String von Anfang an zu entfernen? (PHP-Mikro-Optimierung)
Derzeit bin ich diesen Code, aber ich denke, es sollte eine bessere/schnellere/sauberere Weg:
<?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);
Verwendung 'explode' und' in_array', nicht ein regulärer Ausdruck. –