我尝试在这里和谷歌搜索,但找不到以下解决方案:
$picUrl = '"thumbs/phpThumb.php?src=../property-photos/50/2485/068cf6589a9fb13065818efef3d1e1c0-small.jpg&w=80&h=60&far=1&bg=EEEEEE"';
$number = "2485";
$expression = "'#".$number."/(.*?)&w#'";
echo "<b>expression is </b>".$expression."<br />";
echo "<b>picUrl is </b>".$picUrl."<br />";
preg_match($expression, $picUrl, $pic); //'#2485/(.*?)&w#'
//if($pic) echo "pic is ".$pic[1]."<br />";
echo "<b>contents of pic array</b>".var_dump($pic);
如上所述,数组是空的。但是,如果我将函数$expression
中的变量替换preg_match
为 php 注释后面的文本(即:)'#2485/(.*?)&w#'
,我会得到所需的结果。
为什么使用 $expression 变量不起作用?