Google 喜欢的搜索结果

发布于 2024-12-12 12:45:30 字数 1081 浏览 2 评论 0原文

从我的上一个问题开始:

整理数据库 php 的搜索结果

我的研究有引导我使用以下代码来截断搜索结果,突出显示关键字并在关键字的左侧和右侧显示一些字符。看起来更好了。

我现在的问题是,使用下面的代码,通过在关键字的左侧或右侧添加字符,可以将单词减半。

示例:

Savings plans

..le="background: #E13300;">investing in international accounts is no longer the premise of the rich and famous, all expatriates living abroad can now enjoy flex...

如何让截断函数停止将我的单词和标签切成两半???

代码:

 $word = 'invest'; 
$characters_before="80";
$characters_after="80";
function supertruncate($text, $word, $characters_before, $characters_after){
                  $pos = strpos($text, $word);
    $start = $characters_before < $pos ? $pos - $characters_before : 0;
    $len = $pos + strlen($word) + $characters_after - $start;
                   $text = str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);
    return substr($text, $start, $len);
}

Leading on from my last question:

Tidying search results from database php

My research has led me to the following code to truncate search results, highlight the keyword and display a number of characters to the left and right of the keyword. Looking better.

My question now is, with the below code, by adding characters to the left or right of the keyword it is cutting words in half.

example:

Savings plans

..le="background: #E13300;">investing in international accounts is no longer the premise of the rich and famous, all expatriates living abroad can now enjoy flex...

How can I make the truncate function stop cutting my words and tags in half????

Code:

 $word = 'invest'; 
$characters_before="80";
$characters_after="80";
function supertruncate($text, $word, $characters_before, $characters_after){
                  $pos = strpos($text, $word);
    $start = $characters_before < $pos ? $pos - $characters_before : 0;
    $len = $pos + strlen($word) + $characters_after - $start;
                   $text = str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);
    return substr($text, $start, $len);
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

简单爱 2024-12-19 12:45:31

先截断。然后突出显示。

$text = substr($text, $start, $len);
return str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);

Truncate first. Then highlight.

$text = substr($text, $start, $len);
return str_ireplace($word, '<span class="highlight" style="background: #E13300;">' . $word . '</span>', $text);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文