1

昨天我问了一个问题,有几个人回答得很好(谢谢)。

新问题:)

我想在字符串中提取一个唯一的子字符串,但还要在它之前捕获 X 个字符。有没有允许这样做的功能?


我刚刚找到 strrpos() - 这可能会做到。

4

2 回答 2

1

我认为没有内置功能可以做到这一点,但这应该可以解决问题:

function subbef($str, $sub, $bef)
{
    $pos = strpos($str, $sub);
    if ($pos === false || $pos < $bef) {
        return false;
    }
    return substr($str, $pos - $bef, strlen($sub) + $bef);
}

用法如下:

subbef('test string here', 'string', 3); //"st string"
于 2012-12-29T07:20:01.517 回答
1

您也可以通过正则表达式执行此操作:

<?php
function get($needle, $haystack, $before){
    preg_match($v="/.{".$before."}$needle/", $haystack, $matches);
    return $matches[0];
}

echo get("hello", "I just want to say hello bobby!", 3);
于 2012-12-29T07:31:06.220 回答