如何在preg_match中使用php变量?

时间:2017-10-03 11:26:58

标签: php preg-match

$pId = "MP000000001648426";

下面的代码不起作用。这有什么不对吗?

preg_match_all('/<span id="price_$pId".*?>(.*?)\<\/span>/', $product ,$matches);

但是,当我直接将字符串(pId)添加到preg_match时,它可以正常工作。

preg_match_all('/<span id="price_MP000000001648426".*?>(.*?)\<\/span>/', $product ,$matches);

但我想在preg match中提供一个变量。怎么做?

1 个答案:

答案 0 :(得分:1)

将其更改为

preg_match_all("/<span id=\"price_$pId\".*?>(.*?)\<\/span>/", $product, $matches);

(请注意,您需要真正的"以便转换PHP变量)

替代解决方案:

preg_match_all('/<span id="price_'. $pId . '".*?>(.*?)\<\/span>/', $product, $matches);