2014-01-06 55 views
0

實施例:PHP/JS REGEX:在一個字符串中,如何替換兩個用尖括號括起來的單引號?

變化

<a href='site.com'>Click Here</a>

<a href="site.com">Click Here</a>

+0

第1步:選擇一個合適的語言。第2步:發佈您嘗試過的內容。第3步:發佈您遇到的問題 – HamZa

+1

顯示您所嘗試的內容,然後我們可以幫助您改善您的正則表達式。你想從中學習,最終不是嗎? – rednaw

回答

1

使用Javascript:

str.replace(/<(.*?)'(.+?)'(.*?)>/g,'<$1"$2"$3>'); 

PHP:

preg_replace("/<(.*?)'(.+?)'(.*?)>/g",'<$1"$2"$3>',$str); 

如果您需要捕捉多個組封閉的括號內則正則表達式是一種技巧,用這個來代替:

var bracket = 0; 
str = str.split("").map(function(c) { 
    if (c === "<") bracket++; 
    if (c === ">") bracket--;  
    if (c === "'" && bracket >= 1) { 
    return '"'; 
    } else { 
    return c; 
    } 
}).join(""); 
+0

感謝您的回答。我可以接受最後一個答案,因爲我也應該處理錨的其他html屬性。我在JQM方面並不擅長,我不知道爲什麼它無法處理與href =「https://site.com」相比的'href ='https://site.com'' – TyrHunter

相關問題