こことGoogleで検索してみましたが、次の解決策が見つかりませんでした。
$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 変数の使用が機能しないのはなぜですか?