URLを検索して特定のドメイン名を検索し、URLの最後にいくつかのパラメーターを追加するスクリプトがあります。ただし、複数回実行すると、同じURLに重複するパラメーターが追加されます。URLにすでにパラメータが含まれているかどうかを確認することはできますか?
変更されるコード
<div id="wp-content-editor-container" class="wp-editor-container"><textarea class="wp-editor-area" rows="10" tabindex="1" cols="40" name="content" id="content"><a title="Link to test domain" href="http://www.domain.com">Link to google</a>
<a href="http://google.com/directory/subdirectory/index.html">This is another link</a>
<a href="http://domain.com/directory/index.html">This is a 3rd link</a>
<a href="http://www.domain.com/subdir?parameter">this url already has parameters</a></textarea></div>
jqueryスクリプト
var url = 'www.domain.com';
var append = '?parameter';
$(".wp-editor-area").each(function() {
$(this).text(urlify($(this).text()));
});
function urlify(text) {
var urlRegex = /(\b(https?|ftp|file):\/\/[www.domain.com][-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
return text.replace(urlRegex, function(url) {
return url + append;
})
}
現在の出力
<a title="Link to test domain" href="http://www.domain.com?parameter">Link to google</a>
<a href="http://google.com/directory/subdirectory/index.html">This is another link</a>
<a href="http://domain.com/directory/index.html?parameter">This is a 3rd link</a>
<a href="http://www.domain.com/subdir?parameter?parameter">this url already has parameters</a>
理想的な出力では、URLの最後に2番目の「?parameter」が追加されません^
ありがとう!