如何剥离/删除搜索字符串开头/结尾的所有空格

时间:2011-07-01 作者:Tara

我使用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中添加搜索突出显示类

2 个回复
最合适的回答,由SO网友:helgatheviking 整理而成

我同意,你需要修剪

我会尝试替换:

$keys = implode(\'|\', explode(\' \', get_search_query()));

具有

$keys = implode(\'|\', explode(\' \', trim(get_search_query())));

SO网友:Chip Bennett
结束

相关推荐

admin : search custom fields

一年前@t31os用一个我无法访问的代码回复了一篇帖子:http://wordpress.org/support/topic/search-custom-field-data他的回答。。。我觉得自己很有冒险精神,所以我写了一个简单的插件。。http://wordpress.pastebin.ca/1736605管理员中的帖子搜索现在还将在检查匹配帖子时检查元键和元值…;)有没有办法获取代码以便我可以使用它?非常感谢你帕特里夏