2013-05-03 100 views
0

我不是正则表达式的专家,但我想要的图像URL转换为另一种,并删除高度和宽度属性...PHP更换图像内容

$content = preg_replace('/src="([^"]*)(png|jpeg|jpg|gif|bmp)"/', 'src="http://www.mysite.com/thumb.php?url=$1&width=500&height=500"', $post_content); 

$content = preg_replace('/(width|height)=\"\d*\"\s/', "", $content); 

echo $content; 

没有按相呼应的结果” t给我一个图像扩展名:

<img src="http://www.mysite.com/thumb.php?url=http://www.mysite.com/wp-content/uploads/2013/02/image.&width=500&height=500" /> 

我该怎么做?

+0

'的src \ s * = \ s * “([^”] + \(PNG | JPEG | JPG | GIF | BMP)。)“' – Ejaz 2013-05-03 22:45:26

+0

这是工作感谢 – jlafforgue 2013-05-03 22:50:11

回答

2

替换字符串中的$1指的是您的正则表达式的第一个捕获组。换句话说,$1的值是由正则表达式中第一个(...)匹配的字符序列。

问题是,您的第一组圆括号不包含文件扩展名 - 因此结果中缺少文件扩展名。

+0

感谢您的解释 – jlafforgue 2013-05-03 22:52:02

+0

@jlafforgue:我很高兴我能帮上忙。 – 2013-05-03 22:53:05