有一个很大的javascript字符串,包含文本,html标签等,它是一个有效的HTML(标签在任何地方都可以正常关闭)。此字符串中有URL。
如果此字符串中的任何网址受http://google.com
或""
个标记的限制,那么删除此内容中所有内容的最快方法是什么,但请保留包含><
的网址?
在更新的字符串中,URL可以用空格分隔。
这是一项实际任务。如果这里没有提供解决方案,我将与我分享,但我认为它不会很好而且快速。
答案 0 :(得分:3)
您可以使用正则表达式。
以下表达式查找&#34;&#34;之间的所有字符串。或&gt;&lt;分隔符。然后,您必须为与URL模式匹配的字符串过滤该数组。
var delimitersRegex = /[\"|\>](.*?)[\"|\<]/g;
var urlRegex = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[\w]*))?)/;
var urls = yourString.match(delimitersRegex).filter(function (str) {
return urlRegex.test(str)
});
url将包含您的字符串中找到的所有网址。然后,您可以使用这些匹配的网址执行您喜欢的操作。
祝你好运;