Jquery 从标记中提取URL
我希望通过包含以下元素的HTML请求进行解析:Jquery 从标记中提取URL,jquery,node.js,cheerio,Jquery,Node.js,Cheerio,我希望通过包含以下元素的HTML请求进行解析: <img src="https://pbs.twimg.com/media/...." alt="Embedded image permalink"</a> 我收到错误消息: selector = selector.substr(data[0].length); TypeError: Cannot read property '0' of null 正如我所说,这可能过于复杂了。最简单的(或者只是功能性的)方法是什么?如果我理
<img src="https://pbs.twimg.com/media/...." alt="Embedded image permalink"</a>
我收到错误消息:
selector = selector.substr(data[0].length);
TypeError: Cannot read property '0' of null
正如我所说,这可能过于复杂了。最简单的(或者只是功能性的)方法是什么?如果我理解正确,您想在文本字符串中的
src
字符串后面立即减去url
你为什么不把所有的文本放在一个变量里,然后再把它分成两部分呢
例如:
var arrayOfElements = $("#txt").val().split("src=");
var replacing = arrayOfElements[1].replace(/"/g, "'");
var url = replacing.split("'");
//You can now access the element by using url[1]
您可以看到一个工作示例。祝你好运 使用regexp
像这样的事情应该可以做到:
html.match(/<img [^>]*src="([^"]*)"/g)
html.match(/
请参阅此处的工作示例:(注意:Ruby正则表达式与JS正则表达式有点不同,但我不知道后者有这么酷的工具。)
Regexp解释说:
参数(alt
参数,例如)。当参数中有
字符时,此版本将失败,这可能不应该发生。您可以尝试使用*
替换此部分,在这种情况下,这将起作用,另一方面,当参数值以src=
结尾时,此部分将失败
src=“
–这将查找src参数
([^“]*)
–捕获内部的URL
“
–查找值的结尾
有些人在遇到问题时会想“我知道,我会使用正则表达式。”现在他们有两个问题
你为什么不使用一些更简单的东西,比如字符串函数和正则表达式?我肯定把事情复杂化了。从正则表达式开始,但我的正则表达式技能不符合要求-放弃它,改为朝这个方向发展。Jeremy,尝试了那个,但得到了未定义的错误?两种方法都更接近了!现在是这样。拿着这个例如,URL:并通过rubular运行HTML。您可以获得页面上的所有图像。我正在尝试将其缩减为结尾追加:large的图像。这就是为什么我尝试匹配此…data URL=“”data resolved URL large=“”>这有帮助吗?HTML.match(/为了澄清,我只在捕获块中添加了:large
部分。arghhh…我应该知道:)我是在玩表达式的开头,而不是结尾。我还有最后一个挑战,我正在处理它。我返回Ha:body.match(/https:([^”]*:large)/g);有效----除了它还将匹配一个字符串,其中在:large之后存在尾随字符。
html.match(/<img [^>]*src="([^"]*)"/g)