我如何在这个字体标签之间获得“$0.00”?
<font color="#99002B"> $0.00 </font>
这是页面上唯一一个我想得到的。我真的不懂正则表达式,所以也许有人可以帮助,而他们的答案太!谢谢编辑:$符号也不总是在那里。例如,它可能是;EUR 0,00£ 4.44
EUR 0,00
£ 4.44
avwztpqn1#
您在这里要求使用正则表达式,但它不是解析HTML的正确tool。
$doc = new DOMDocument; $doc->loadHTML($html); // Load your HTML data $xpath = new DOMXPath($doc); $node = $xpath->query("//font[@color='#99002B']")->item(0); echo $node->nodeValue; //=> "$0.00"
Working Demo
fhity93d2#
/<font color="#99002B">\n?(.+[0-9]+\.[0-9]+)\n?<\/font>/
工作演示:https://regex101.com/r/ME7QqL/1如果周围有更多的空间用途:
/<font color="#99002B">\s*(.+[0-9]+\.[0-9]+)\s*<\/font>/
也许你必须用""替换所有的"\n"才能正常工作--还没有测试过。
""
"\n"
bbuxkriu3#
https://regex101.com/r/hapFEQ/1
const pattern = /<font color="#99002B".*?>([\s\S]*?)<\/font>/i; const match = `<font color="#99002B"> $0.00 </font>`.match(pattern); const result = match ? match[1].trim() : ''; console.log(result);
3条答案
按热度按时间avwztpqn1#
您在这里要求使用正则表达式,但它不是解析HTML的正确tool。
Working Demo
fhity93d2#
工作演示:https://regex101.com/r/ME7QqL/1
如果周围有更多的空间用途:
也许你必须用
""
替换所有的"\n"
才能正常工作--还没有测试过。bbuxkriu3#
https://regex101.com/r/hapFEQ/1