我正在使用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很新,我实际上得到了上面代码的帮助,但它并不完全是我的。
答案 0 :(得分:0)
如果我理解你想要匹配n
个数字最多为75的字符,那么如果是你的情况,你所要做的就是:{10,75}
其中10
是正则表达式中n
个数(下限)。
'#(.{10,75}' . $s . '.{10,75})#s'