在php中使用正则表达式获取值?
如何使用在php中使用正则表达式获取值?,php,Php,如何使用preg\u match\u all从下面的html获取价格1.199,00 `<h4><span class="price_label">Preis: </span>1.199,00 Euro (inkl. 19% MwSt.)</h4>` `Preis:1.199,00欧元(约19%MwSt.)` 代码 <?php $pattern = '#'.$regex.'#';
preg\u match\u all
从下面的html获取价格1.199,00
`<h4><span class="price_label">Preis: </span>1.199,00 Euro (inkl. 19% MwSt.)</h4>`
`Preis:1.199,00欧元(约19%MwSt.)`
代码
<?php
$pattern = '#'.$regex.'#';
preg_match_all($pattern, $data, $price);
print_r(price);
?>
这是一个简单的例子:
<?php
$subject = '<h4><span class="price_label">Preis: </span>1.199,00 Euro (inkl. 19% MwSt.)</h4>';
$pattern = '|<span[^>]+class="price_label".*>[^<]+</span>([0-9.,]+)\s*.*$|';
preg_match($pattern, $subject, $tokens);
var_dump($tokens[1]);
但是请注意,使用正则表达式解析HTML标记或从中提取值是有问题的。这样的解决方案往往很挑剔,所以对于标记的微小修改并不健壮。使用DOM解析器要好得多 请给我们看看你试过的正则表达式。
string(8) "1.199,00"