Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php (wordpress)在搜索结果页面中显示突出显示搜索关键字的句子_Php_Wordpress - Fatal编程技术网

Php (wordpress)在搜索结果页面中显示突出显示搜索关键字的句子

Php (wordpress)在搜索结果页面中显示突出显示搜索关键字的句子,php,wordpress,Php,Wordpress,wordpress的默认搜索不会在搜索查询中显示所有搜索结果的关键字。例如:如果搜索关键字属于第二段,而我仅显示第一段的有限字符,则不会显示该关键字。更准确地说,这里有一个例子。 我有一个包含以下内容的页面: 这仅仅是一个测试。这只是一个例子 在搜索页面中,我调用了循环 <?php while(have_posts() ): the_post(); echo substr(get_the_content(), 0, 10); endwhile; ?>

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

这仅仅是一个测试。这只是一个例子

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

<?php

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

现在,当我搜索关键字“example”时,搜索结果中会显示帖子,但由于只显示前10个字符,因此不会显示关键字。在我的网站中,我最多只能显示200个字符,我想要的是显示一两句带有突出显示的关键字的句子。

试试这个

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;
preg_replace("/\w*?$keyword\w*/i", "<b>$0</b>", $str)
preg_replace("/\p{L}*?".preg_quote($keyword)."\p{L}*/ui", "<b>$0</b>", $str)