用' - '(短划线)替换'+'(加号),以便在OpenSearch的URL中替换空格

时间:2013-07-10 17:50:43

标签: firefox search search-engine opensearch

我正在为网站生成OpenSearch插件。我大部分都在那里,事实上,当搜索中只有一个单词时,插件可以正常工作。我应该注意,这不是您的标准搜索引擎,它会为您搜索中的字词提供相关关键字的地图。问题似乎是此搜索引擎的行为与其他搜索引擎略有不同。例如,使用Google,“项目管理”的搜索网址如下所示:

http://www.google.com/search?q=project+management

对于KwMap,您的搜索显示如下:

http://www.kwmap.net/project-management.html

所以我的问题是,是否可以使用OpenSearch用短划线而不是加号替换搜索词中的空格?到目前为止,这是我的代码:

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"
                       xmlns:moz="http://www.mozilla.org/2006/browser/search/">
  <!-- Created on Wed, 10 Jul 2013 17:26:47 GMT -->
  <ShortName>KwMap</ShortName>
  <Description>A Keyword Map for the Whole Internet</Description>
  <Url type="text/html" method="get" template="http://www.kwmap.net/{searchTerms}.html"/>
  <InputEncoding>UTF-8</InputEncoding>
  <moz:SearchForm>http://www.kwmap.net/</moz:SearchForm>
  <Url type="application/opensearchdescription+xml" rel="self"/>
</OpenSearchDescription>

1 个答案:

答案 0 :(得分:0)

包含OpenSearch自动发现链接元素的HTML文档示例使用短划线:

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
   <head profile="http://a9.com/-/spec/opensearch/1.1/">
     <!--- ... --->
     <link rel="search"
       type="application/opensearchdescription+xml" 
       href="http://example.com/content-search.xml"
       title="Content search" />
     <link rel="search"
       type="application/opensearchdescription+xml" 
       href="http://example.com/comment-search.xml"
       title="Comments search" />
     <!--- ... --->
   </head>
   <body>
   <!--- ... --->
   </body>
  </html>
  

各种文档格式和规范已经支持IRI。示例包括HTML 4.0,XML 1.0系统标识符,XLink href属性,XMLSchema的anyURI数据类型等。稍后我们还将看到主要浏览器已经支持使用IRI。

<强>参考