1

众所周知,谷歌并不关心我们搜索查询中的括号。无法更改运算符的顺序。但另一方面,必应更加灵活。

所以我一直在尝试使用 PHP 让我的查询(最初是为 google 制作的)在 Bing 上工作,并且由于两个搜索引擎中 OR 和 AND 之间的优先级不同,我不得不为 Bing 添加括号:

"maison de retraite" france OR francaise OR francais (on Google)

应该是

"maison de retraite" (france OR francaise OR francais) (on Bing)

所以基本上,规则是:

  • 打开括号。
  • "?这是一种表达方式,所以在找到另一个表达之前不要做任何事情"
  • 一旦找到第二个"字符,立即查找字符,如果它不是OR或并|关闭括号。

所以我正在想办法做到这一点, regExp ?这不是我的一杯茶,爆炸整个字符串并在很多条件下循环它?使用一些strpos,substr ..?

你认为什么是合适的?

4

1 回答 1

1

尝试:(".+?") (.+?) (\(on ).+?(\))匹配和$1 ($2) $3Bing$4替换。

适用于http://www.phpliveregex.com/

于 2013-11-22T09:38:06.103 回答