使用PHP格式化Preg_replace URL和图像

时间:2011-08-09 17:49:00

标签: php regex

我有一些带文字的字符串,我想将所有图片链接替换为img标签和其他指向标签的链接。

我已经这样做了:

$row['message'] = preg_replace('/(http:\\/\\/.+(png|jpeg|jpg|gif|bmp))/Ui', '<img height="'.self::getConfig('image_height').'" src="$1" />', $row['message'], -1, $countImages);

如何将除img标记之外的所有链接替换为$row['message']中的标记?

感谢名单!

1 个答案:

答案 0 :(得分:0)

为正则表达式添加否定的lookbehind,以查看该网址是否在src="之后。

$row['message'] = preg_replace('/(?<!src=")(http:\\/\\/.+(png|jpeg|jpg|gif|bmp))/Ui', '<img height="'.self::getConfig('image_height').'" src="$1" />', $row['message'], -1, $countImages);