我正在努力削减价格,我正在努力写一些注册表来获取特定文本
<option value="1">
1
(£ 70)
</option>
在源代码中显示的价格几乎与上面显示有很多空格。理想情况下,我想从字符串
中抓取70这是我到目前为止所拥有的
preg_match("/<option value=\"1\">(.+)<\/option>/siU", $html, $matches);
我有一半期望这会抓住 1(70英镑),但它没有用,有什么帮助吗?
答案 0 :(得分:0)
/<option value=\"1\">(.*?\((.*?)\).*?<\/option>/
还要确保您在没有新行(pattern modifiers)
的情况下测试字符串您可能还想考虑使用xml解析器。
答案 1 :(得分:0)
嗯,它does匹配。问题是(可能)匹配包含一堆空格字符:
string(97) "
1
(£ 70)
"
修改强>
您可以执行little sanitizing:
$matches[1] = preg_replace('/\s+/s', ' ', trim($matches[1]));
给出:
string(14) "1 (£ 70)"