【问题标题】:SQL Search: Show only text around search termSQL 搜索:仅显示搜索词周围的文本
【发布时间】:2012-08-26 17:00:02
【问题描述】:

如何在我的 sql 搜索词周围只显示文本?

例如,如果我有这段文字并且我的搜索词是bubbles:

人类可以看到气泡,因为它们的折射率不同 (IR) 比周围的物质。例如,空气的 IR 是 约为 1.0003,水的 IR 约为 1.333。 斯涅尔定律描述了电磁波如何改变方向 两种具有不同 IR 的介质之间的接口;因此气泡可以 从伴随的折射和内部反射中识别 即使浸入式介质和浸入式介质都是透明的。

上述解释仅适用于一种介质浸没的气泡 在另一种介质中(例如软饮料中的气泡);的体积 膜泡(例如肥皂泡)不会对光线造成太大的扭曲, 由于薄膜衍射,人们只能看到膜泡 和反思。

我如何输出这样的东西(加粗)....

人类可以看到气泡,因为它们具有不同的折射率 (IR) 比 ... 因此 气泡 可以从伴随的折射和内部反射中识别出来,即使浸入介质和浸入介质都是透明的。

【问题讨论】:

  • 不确定这与 MySQL 有多大关系,但我建议您查看 this 和 this

标签: php mysql sql


【解决方案1】:

这是一个例子。您将 sql 查询中的文本放入 $text,但在替换关键字后显示。见http://php.net/manual/en/function.preg-replace.php

$text = "Humans can see bubbles because..." ;
echo preg_replace("/bubbles/", "<b>bubbles</b>", $text);

输出:

Humans can see <b>bubbles</b> because...

顺便说一句 - 我不知道为什么 S/O 以不同的颜色显示人类 ;)

【讨论】:

    【解决方案2】:

    您可以使用一组 INSTR 和 SUBSTR 来首先找到术语(使用 INSTR),然后对 '.' 执行 SUBSTR特点。

    您还需要注意边缘情况,例如没有句点,或者您到达字符串的开头或结尾等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-11
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多