昨天我问了一个问题,有几个人回答得很好(谢谢)。
新问题:)
我想在字符串中提取一个唯一的子字符串,但还要在它之前捕获 X 个字符。有没有允许这样做的功能?
我刚刚找到 strrpos() - 这可能会做到。
我认为没有内置功能可以做到这一点,但这应该可以解决问题:
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"
您也可以通过正则表达式执行此操作:
<?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);