«

PHP截取两个指定字符(串)之间的所有字符

刚子 发布于 阅读:92


/**
 * PHP截取两个指定字符(串)之间的所有字符。拿到任何地方都可以使用
 */
function getBetweenAB($str, $begin, $end)
{
    if ($begin == '') return '';
    $beginPos = mb_strpos($str, $begin);
    if ($beginPos === false) return '';       // 起始字符不存在,直接返回空。合理
    $start = $beginPos + mb_strlen($begin);       // 1.1、开始截取下标
    if ($end == '') $endPos = mb_strlen($str);// 结束字符不存在,默认截取到字符串末尾。合理
    else $endPos = mb_strpos($str, $end, $start); // 1.2、从开始下标之后查找
    if ($endPos === false) $endPos = mb_strlen($str);
    $length = $endPos - $start;                   // 2、截取字符的长度
    return mb_substr($str, $start, $length);
}