PHP – String – Devolver derecha hasta delimitador izquierda
Función que devuelve la parte derecha de un texto a partir de un delimitador que se empieza a buscar desde la izquierda. Si no se encuentra el delimitador, devuelve null,
Es insensible a mayúsculas, minúsculas y acentos.
/** * Class HelperString */ abstract class HelperString { /** * Devuelve la parte de la derecha despues de un texto delimitador * que se busca desde la izquierda. * No devuelve el delimitador * * @param $texto * @param $delimitador * * @return string */ public static function getRightStringBack($texto, $delimitador) { $txtTmp = HelperString::eliminarAcentos($txt); $delimitador = HelperString::eliminarAcentos($delimitador); $pos = stripos($txtTmp, $delimitador); $ret = ''; if (false !== $pos) { /* Busca el delimitador partiendo de la izquierda y si lo encuentra devuelve la parde de la la derecha */ $ret = substr($texto, ($pos + strlen($delimitador))); if ($ret === false) { return null; } } return $ret; } }
Ejemplos:
$a = HelperString::getRightStringBack("abcdefghijklm", "d"); /* $a = (string:9) efghijklm */ $a = HelperString::getRightStringBack("abcdefghijklm", "def"); /* $a = (string:7) ghijklm */ $a = HelperString::getRightStringBack("abcdefghijklm", "djk"); /* $a = (string:0) */ $a = HelperString::getRightStringBack("abcdefghijklm", ""); /* $a = (string:0) */ $a = HelperString::getRightStringBack("abcdefghijklm", "xx"); /* $a = (string:0) */