首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Wordpress)在搜索结果页面中显示一个句子突出显示搜索关键字

问(Wordpress)在搜索结果页面中显示一个句子突出显示搜索关键字
EN

Stack Overflow用户
提问于 2016-06-22 05:00:24
回答 1查看 570关注 0票数 1

默认搜索wordpress并不显示搜索查询中所有搜索结果的关键字。例如:如果搜索关键字属于第二段,而我只显示第一段的有限字符,则不显示该关键字。更准确地说,这是一个例子。我有一个包含以下内容的页面:

这不过是个考验。这只是一个例子。

在搜索页面中,我调用了循环

代码语言:javascript
复制
<?php

    while(have_posts() ): the_post();
    echo substr(get_the_content(), 0, 10);
    endwhile;
?>

现在,当我搜索关键字“示例”时,文章会显示在搜索结果中,但是由于只显示了前10个字符,所以关键字没有显示。我限制在我的网站200个字符,我想要的是显示一两个句子与关键字突出显示在它。

EN

回答 1

Stack Overflow用户

发布于 2016-06-22 05:12:31

尝尝这个

代码语言:javascript
复制
while(have_posts() ): the_post();
            $str=substr(get_the_content(), 0, 10);
            $keyword=$_REQUEST['s'];
            echo preg_replace("/\w*?".preg_quote($keyword)."\w*/i", "<b>$0</b>", $str)
endwhile;

用于突出显示字符串中的单词。

代码语言:javascript
复制
preg_replace("/\w*?$keyword\w*/i", "<b>$0</b>", $str)

\w*?匹配关键字之前的任何单词字符(尽可能少),并在关键字之后匹配任何单词字符。

对于Unicode支持,请使用u标志和\p{L},而不是\w。

代码语言:javascript
复制
preg_replace("/\p{L}*?".preg_quote($keyword)."\p{L}*/ui", "<b>$0</b>", $str)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37958898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档