【问题标题】:Format google search queries for bing为 bing 格式化 google 搜索查询
【发布时间】:2013-04-20 19:08:24
【问题描述】:

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

所以我一直在尝试使用 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.. ?

你觉得什么合适?

【问题讨论】:

  • 如果我从左到右阅读,您的示例(对于 Bing)似乎不遵循您的规则,是不是用 OR 或 | 分隔的任何内容(单个单词或多个单词?不是引号中的表达式)需要在括号内。是吗?
  • 我一定错过了我的解释,但规则很简单:在空格之后,如果字符不是“OR”或“|”然后插入')'我试图找到一个正则表达式来帮助我做到这一点@sudimail

标签: regex search-engine indentation google-search bing


【解决方案1】:

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

http://www.phpliveregex.com/上工作

【讨论】:

    猜你喜欢
    • 2018-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    相关资源
    最近更新 更多