0

我有一个预匹配来查找单词 title 或 loan 的所有实例,但是任何人都可以帮我修改它以获取单词的所有实例,以及之前和之后的所有单词,并带有 . 作为停止的分隔符。

preg_match_all('#\b(title|loan)\b#',$html, $matches);

要么,要么在我正在寻找的单词之前说 10 个单词,然后说 10 个单词。

谢谢

4

1 回答 1

1
preg_match_all('#(?<pre>\w+) (title|loan) (?<post>\w+)#',$html, $matches);

title|loan如果它们被空格分隔,将捕获之前和之后的单词。如果您需要更灵活的单词之间的界限,则可以轻松进行调整。

然后,您可以通过以下方式访问比赛:

foreach ($matches as $match)
{
  echo $match['pre'];
  echo $match['post'];
}

要匹配包含 的句点(句子)之间的所有内容title|loan,您可以执行以下操作:

preg_match_all('#[^.]*(title|loan)[^.]*#', $html, $matches);

这将匹配之前和之后不是句点的所有字符title|loan

于 2013-07-19T21:04:05.027 回答