Php 从html匹配定价-正则表达式
可能重复:Php 从html匹配定价-正则表达式,php,regex,preg-match,Php,Regex,Preg Match,可能重复: 我有一个字符串,它通常是,但不总是,html页面源代码 我想从字符串中提取定价。我知道这不是一门精确的科学,货币符号放置等组合是无止境的,但总比没有好 示例字符串: $string = 'the price is <tag>£10.00</tag>'; 当然,这只返回第一个字符 我的问题是,有没有一种方法可以一直遍历$string直到它找到某个字符?e、 还是一个空间?然后返回发现的内容,在本例中为:10.00 这是一种可行的方法还是有更
我有一个字符串,它通常是,但不总是,html页面源代码 我想从字符串中提取定价。我知道这不是一门精确的科学,货币符号放置等组合是无止境的,但总比没有好 示例字符串:
$string = 'the price is <tag>£10.00</tag>';
当然,这只返回第一个字符
我的问题是,有没有一种方法可以一直遍历$string直到它找到某个字符?e、 还是一个空间?然后返回发现的内容,在本例中为:10.00
这是一种可行的方法还是有更好的方法
下面是一个例子:
阅读
preg\u match
的文档,它不会返回您的匹配项,只会在存在匹配项时返回
试试这个
$string = 'the price is <tag>£10.00</tag>';
$price = preg_match_all('#(?:\$|\£|\€|\£|\&\#163;)(\d+(?:\.\d+)?)#', $string, $matches);
//This will contain your matches
var_dump($matches);
$string='价格是£;10.00';
$price=pregêu matchêu all(“#”(?:\$\\\\\\\\\\\\\\\\\\\\\\£;&\\\\\\\\\\\&163;)(\d+(?:\.\d+),$string,$matches);
//这将包含您的匹配项
var_dump($matches);
使用preg\u match\u all
和(\d+(?:\。\d+)(=)
如何,因为货币可能会变化?使用正则表达式的任何解决方案都将取决于一组假设,因此最好先把这些假设记下来:
- 你应该在哪里寻找,这些价格是否发生在给定的分区内
- 全套可能的值是什么
您有html源代码&您需要从该源代码中选择价格?它只返回第一个字符是什么意思?你甚至没有检查matches@ExplosionPills这就是我所说的@GBD,这篇文章是这样说的:我有一个字符串,它通常是,但不总是,html页面源代码。我想从字符串中提取定价。所以,是的。
$string = 'the price is <tag>£10.00</tag>';
$price = preg_match_all('#(?:\$|\£|\€|\£|\&\#163;)(\d+(?:\.\d+)?)#', $string, $matches);
//This will contain your matches
var_dump($matches);