所以我试图获得有关房地产网站标题的一些信息。
他们看起来像那样
- Appartement 2 pièces 42 m² à louer Saint Ouen 93400, 765 € - Logic-immo.com
- Location appartement 2 pièces 47 m² Clichy (92) - 870 € - A Vendre A Louer
- Location appartement 3 pièces 67 m² Saint Ouen (93) - 1 065 € - A Vendre A Louer
我尝试检索:租金的价格
为此我使用以下正则表达式:
([0-9]?\s*[0-9]+\s*€)
你可以看到测试人员的工作:https://regex101.com/r/RRYnMX/1(我试过其他测试人员)
在我的php中看起来像这样:
desc = $result['a_description'];
$re = '/([0-9]?\s*[0-9]+\s*€)/';
preg_match_all($re,$desc, $prix, PREG_SET_ORDER, 0);
print_r($prix);
结果很好,但在3个例子的最后一个案例中,它只返回:
[0] => Array
(
[0] => 065 €
[1] => 065 €
)
我尝试了很多不同的可能性,但似乎都没有效果。
编辑
它适用于前两个例子:
Array
(
[0] => Array
(
[0] => 740 €
[1] => 740 €
)
)
Array
(
[0] => Array
(
[0] => 870 €
[1] => 870 €
)
)
编辑2:
$re = '/([0-9]?\s*[0-9]+)\s*€/u';
完全停止工作
我试过
$re = '/([0-9]?\s*[0-9]+)\s*\x80/';
完全停止工作
我试过
$re = '/([0-9]?\s+[0-9]+)\s*€/';
(我用\ s +改变了\ s *) 完全停止工作
我试过了:https://regex101.com/r/RRYnMX/3
适用于所有测试人员,但不适用于PHP上的1064。这是链接:http://aeronet.be/appart/update.php
这是文本输出:
string(82) " Appartement 2 pièces 42 m² à louer Saint Ouen 93400, 765 € - Logic-immo.com"
765
string(89) "Location appartement 2 pièces 47 m² Clichy (92) - 870 € - A Vendre A Louer"
870
string(82) " Appartement 2 pièces 41 m² à louer Saint Ouen 93400, 910 € - Logic-immo.com"
910
string(82) " Appartement 3 pièces 46 m² à louer Saint Ouen 93400, 850 € - Logic-immo.com"
850
string(100) "Location appartement 3 pièces 67 m² Saint Ouen (93) - 1 065 € - A Vendre A Louer"
065
string(89) "Location appartement 2 pièces 48 m² Clichy (92) - 980 € - A Vendre A Louer"
980
string(93) "Location appartement 3 pièces 52 m² Saint Ouen (93) - 980 € - A Vendre A Louer"
980