2013-07-10 115 views
5

我正在爲網站生成一個OpenSearch插件。我是那裏的絕大部分,事實上,當搜索中只有一個單詞時,插件就起作用。我應該注意到,這不是您的標準搜索引擎,它提供了一個相關關鍵字到您的搜索中的單詞的地圖。問題似乎是這個搜索引擎的行爲與其他搜索引擎略有不同。例如,與Google的搜索網址爲「項目管理」出現這樣的:用' - '(破折號)代替'+'(加號)代替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> 
+0

我敢肯定這是不可能的,因爲這將是標準的URL編碼方法之外。我確信kwmap.net必須提供一種方法來獲取標準的查詢字符串URL並將其重寫爲他們自己的專有格式,不是嗎? –

+1

我想知道這是否可以用正則表達式來完成。我發現的最接近的是https://groups.google.com/forum/#!topic/opensearch/N5_hm58Peqc上的討論。 – Taliesin

回答

0

一個HTML文檔,其中包含OpenSearch的自動發現鏈接元素的一個例子使用破折號:

<!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> 

各種文檔格式和規範已經支持光圈。例子包括HTML 4.0,XML 1.0系統標識符,XLink href屬性,XMLSchema的anyURI數據類型等。稍後我們還會看到主要的瀏覽器已經支持使用IRI。

參考

相關問題