我有这个
87||2|#88||4|#89|
或
87||1|#88||3|#89|
或
95||1|#88||1|#89|
或其他变量数据。每次有...|#88||number|...)
时,我都需要捕获"数字"和"打印"它
通过收到的一些建议,我写了这个,但结果仍然不正确。
function caratteristiche1($property_bedrooms) {
$new = preg_match("/\|88\|\|(\d+?)\b/", $property_bedrooms);
print_r($new);
}
我该怎么办?
答案 0 :(得分:0)
您需要调用preg_match()
的重载版本,该版本接受包含匹配项的数组作为第三个参数。匹配的数字(在括号中)将在$results
数组的 second 位置提供。只需访问此值,您应该很高兴:
function caratteristiche1($property_bedrooms) {
$new = preg_match("/\|#88\|\|(\d+)/", $property_bedrooms, $results);
print_r($results[1]);
}
顺便说一句,$results[0]
包含完整的输入字符串。
如果要测试工作正则表达式,请单击下面的链接。
答案 1 :(得分:0)
好的,谢谢蒂姆! 你的正则表达式很好。正确的功能是:
function caratteristiche1($property_bedrooms) {
$new = preg_match('/\\|#88\\|\\|(\\d+)/', $property_bedrooms, $results);
print_r($results[1]);
}
谢谢你的时间!