在关键字PHP之前获得至少X个字符

时间:2014-08-17 22:46:14

标签: php mysql regex

我正在使用php和mysql创建一个小型搜索系统。

我有这个:

preg_match('#(.{75}' . $s . '.{75})#s', $b, $match);
if (isset($match[1])) {
   return preg_replace('#(.+?)' . $s . '(.+)#s', '$1<span><b>' . $s . '</b>     </span>$2', $match[1]);
} else {
    return 'Error';
}

这样可以很好地获得关键字的第一次出现,并在它之前和之后获得75个字符。唯一的问题是,如果少于75个字符,它将无法通过。我对regex很新,我实际上得到了上面代码的帮助,但它并不完全是我的。

1 个答案:

答案 0 :(得分:0)

如果我理解你想要匹配n个数字最多为75的字符,那么如果是你的情况,你所要做的就是:{10,75}其中10是正则表达式中n个数(下限)。

'#(.{10,75}' . $s . '.{10,75})#s'