【问题标题】:Substitute the '+' (plus) with '-' (dash) for space replacement in URL for OpenSearch用“-”(破折号)替换“+”(加号)以替换 OpenSearch 的 URL 中的空格
【发布时间】:2013-07-08 18:55:45
【问题描述】:

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

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>

【问题讨论】:

  • 我很确定这是不可能的,因为这超出了标准的 URL 编码方法。我确信 kwmap.net 必须提供一种方法来获取标准查询字符串 URL 并将其重写为自己的专有格式,不是吗?
  • 我想知道这是否可以用正则表达式来完成。我发现最接近的是groups.google.com/forum/#!topic/opensearch/N5_hm58Peqc 的讨论。

标签: firefox search search-engine opensearch


【解决方案1】:

包含 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。

参考文献

【讨论】:

    猜你喜欢
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    相关资源
    最近更新 更多