0
文字列から各画像のsrc属性を読み込み、一致する場合はimgタグ全体を別の形式に置き換えたいと考えています。私の現在の正規表現は機能しません。これはimgタグの先頭を置き換えますが、他のすべての属性はstyle、rel、title、ectのように内部に残ります。ここに私のロジックの例は次のとおりです。各画像のsrcタグを文字列から引っ張ってimgタグ全体を置き換える方法
$message = 'I AM SENDING YOU AND IMAGE <image src="https://www.google.com/logos/doodles/2017/bessie-colemans-125th-birthday-5751652702224384-scta.png" rel="test image" style="display: block;" /> SEE THE IMAGE?';
function replacelinks($message) {
$ret = preg_replace_callback('/(<img\s+src=["\'])([^"\']+)(["\']\s+[^>]+>)/', function ($m) { $url = parse_url($m[1]); if ($url['path'].$url['query'] == "/logos/doodles/2017/bessie-colemans-125th-birthday-5751652702224384-scta.png") { return '{IMG::'.$url['path'].$url['query'].'}'; } }, $message);
return $ret;
}
echo replacelinks($message);