これはうまくいくようです:
function findImageTags($string) {
$pattern = '/<div(.*?)sourcefile="([^"]+)"(.*?)>(.*?)<\/div>/s';
return preg_replace($pattern, $this->generateImage("$2"), $string);
}
function generateImage($url){
return $url;
}
しかし、generateImage 関数で引数を使用して何かを実行しようとすると、引数の値が実際の値ではなく $2 であるため、実行できません。
したがって、これは機能しません:
function generateImage($url){
$array = explode('.', $url);
return $array;
}
ちなみに、パターン内の s を e に置き換えることは、推奨されていないと思うので機能しないようです。
では、 generateImage() の引数の値を操作するにはどうすればよいでしょうか?