我使用hack ofChris_O 用于突出显示搜索词。当用户在搜索字符串的开头或结尾输入搜索关键字时,它会检索并在相应记录中突出显示搜索词。
但是,如果用户在搜索字符串的开头或结尾输入空格,它会检索并突出显示搜索词,但帖子内容的所有非英语部分看起来都很奇怪(如���� 或??)。虽然英文内容看起来不错,但带有标签(例如,<p style="text-align: center;">test site</p>
等等)
在黑客中,有没有可能去掉/删除搜索字符串开头/结尾的所有空格?非常感谢。
我使用版本3.1.4和默认的二十个主题。
以下是黑客攻击:
步骤1:
将这两个函数添加到函数中。php
function search_content_highlight()
{
$content = get_the_content();
$keys = implode(\'|\', explode(\' \', get_search_query()));
$content = preg_replace(\'/(\' . $keys .\')/iu\', \'<strong class="search-highlight">\'placeholder4\'</strong>\', $content);
echo \'<p>\' . $content . \'</p>\';
}
function search_title_highlight()
{
$title = get_the_title();
$keys = implode(\'|\', explode(\' \', get_search_query()));
$title = preg_replace(\'/(\' . $keys .\')/iu\', \'<strong class="search-highlight">\'placeholder4\'</strong>\', $title);
echo $title;
}
第2步:
在我的主题循环中。我调用的php文件<?php search_title_highlight(); ?>
而不是<?php the_title(); ?>
和使用<?php search_content_highlight(); ?>
而不是<?php the_content(); ?>
步骤3:在我的css中添加搜索突出显示类
最合适的回答,由SO网友:helgatheviking 整理而成
我同意,你需要修剪
我会尝试替换:
$keys = implode(\'|\', explode(\' \', get_search_query()));
具有
$keys = implode(\'|\', explode(\' \', trim(get_search_query())));