2015-05-20 46 views
1

我正在使用cfx_http5標記執行cfhttp調用,因爲它比cfhttp更快更好。所以鏈接來爲:使用替換修復字符串中的url

<a href="/e9.asp?rpttype=298&sortBy=1&sortOrder=2">sort A</a> 

,所以我添加使用下面的腳本替換

http://mysubdomain.domain.com/http://mysubdomain.domain.com/e9.asp?rpttype=298&sortBy=1&sortOrder=2 

<cfset lnk = ReplaceNoCase(objget, 'href="', 'href="http://mysubdomain.domain.com/', 'all')> 
在幾個環節

,它是未來的正確的,但在一些它是未來的鏈接如上面附加一個多到已經存在的,

,所以我希望把它有條件的,如果存在的話,不添加或添加或者添加如果沒有鏈接

任何想法S'

+1

你有什麼嘗試?分享一些代碼並告訴我們爲什麼你所嘗試的不是給出預期的結果。 –

+0

我的嘗試是替換代碼,我添加到缺少的鏈接,現在它已經附加到那裏的鏈接,所以我不知道@這一點在哪裏移動 – insko

回答

0

只需創建一個條件if語句

lnk = 'http://mysubdomain.domain.com/e9.asp?rpttype=298&sortBy=1&sortOrder=2'; 
if (!findNoCase('mysubdomain.domain.com', lnk)) { 
    lnk = ReplaceNoCase(objget, 'href="', 'href="http://mysubdomain.domain.com/', 'all'); 
} 
+1

一個'/'在替換結束與字符串是不需要的。 – Pankaj

+0

如果您查看他提供的示例URL,則在URL之前已經有一個'/'。 – Pankaj

1

您可以使用regular expressionsnegative lookahead這樣的:

<cfset lnk = reReplaceNoCase(objget, 'href=\"(?!http\:\/\/)','href="http://mysubdomain.domain.com', 'ALL')> 

這兩種類型的聯繫工作。