hrefにsites.comが見つかった場合、すべてのリンクのURLを置き換える方法は?? 例えば:
このhrefリンクから
http://one.sites.com/1234/12/page.html http://two.sites.com/img/dir/index.html http://any.sites.com/any/any/any.html http://*.sites.com/*/*/*.*
することが
http://one.sites.com/ http://two.sites.com/ http://any.sites.com/ http://*.sites.com/
私はjqueryを使ってみました:
$("a[href*='http://one.sites.com/']").attr('href','http://one.sites.com')
ただし、1 つのリンクを置き換えるだけです。
正規表現を使用すると、各hrefにsites.comがあるページのすべてのリンクが自動的に置き換えられると思います
var isUrl=/(\()((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\))|(\[)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\])|(\{)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(\})|(<|&(?:lt|#60|#x3c);)((?:ht|f)tps?:\/\/[a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]+)(>|&(?:gt|#62|#x3e);)|((?:^|[^=\s'"\]])\s*['"]?|[^=\s]\s+)(\b(?:ht|f)tps?:\/\/[a-z0-9\-._~!$'()*+,;=:\/?#[\]@%]+(?:(?!&(?:gt|#0*62|#x0*3e);|&(?:amp|apos|quot|#0*3[49]|#x0*2[27]);[.!&',:?;]?(?:[^a-z0-9\-._~!$&'()*+,;=:\/?#[\]@%]|$))&[a-z0-9\-._~!$'()*+,;=:\/?#[\]@%]*)*[a-z0-9\-_~$()*+=\/#[\]@%])/img;
上記の正規表現コードは、次のようなリンクの式を正常にチェックします。
http://one.sites.com/1/2/page.html
jqueryを使って実装するには?助けてください