我想在這裏和谷歌搜索,但無法找到解決如下:的preg_match模式變量使用
$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);
如上面所寫,該數組爲空。但是,如果我將preg_match
函數中的$expression
變量替換爲php註釋之後的文本(即:'#2485/(.*?)&w#'
),我會得到期望的結果。
爲什麼使用$表達式變量不起作用?
杜!非常感謝。我一直在盯着我的屏幕5天堅實:)。我會使用你的建議,因爲我只使用雙引號,因爲需要雙引號來轉義$ number變量。我一直在試圖找出這個問題的房子周圍,這一直很簡單!這就是cookie有時候會崩潰的,呃? – MrG