自目标创建以来对子文本进行子串

时间:2011-11-21 17:04:11

标签: preg-replace substring

我在我的php页面上搜索了一下就可以了。

根据我的搜索结果,我在内容中突出显示了字符串目标。

$search_tag_text = @preg_replace("/($mysearch)/i", "<u style=\"color:red\">$1</u>", $row->txtContent);

好的,但是在找到我的内容中的字符串目标后,是否有可能在之前显示20个单词,之后显示20个单词,而不是列出我的所有内容?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我会尝试类似的事情:

$matches = array();
preg_match("/($mysearch)/i", $search_tag_text, $matches, PREG_OFFSET_CAPTURE);

然后在匹配中,您将获得找到的字符串所在的偏移量,然后您可以执行:

$search_tag_text = substr($subject, ($matches[0][1] - 30), 60);

比赛开始前为30个字符,之后为30个字符。如果我已经正确理解了$ mathces [i] [x]中的最后一个元素是找到匹配的偏移量。