可能重复:
How to extract img src, title and alt from html using php?
我想允许用户上传图片到上传/ tmp文件夹以供将来在他们的帖子中使用。 1.用户将几张图片上传到'uploads / tmp /' 这是他的文字:
Some text with img tags:
1. <img src="http://site.com/uploads/tmp/d272b2d4.jpg">
2. <img src="http://www.site.com/uploads/tmp/132784ca.jpg">
3. <img src="www.site.com/uploads/tmp/e08b0bc8.jpg">
4. <img src="site.com/uploads/tmp/f40ba84c.jpg">
我想从src属性中获取这些文件名并将文件移动到所需的文件夹,然后将图像替换为:
1. <img src="http://site.com/uploads/posts/user/d272b2d4.jpg">
2. <img src="http://www.site.com/uploads/posts/user/132784ca.jpg">
3. <img src="www.site.com/uploads/tmp/posts/user/e08b0bc8.jpg">
4. <img src="site.com/uploads/tmp/posts/user/f40ba84c.jpg">
所以问题是我无法在src中创建获取和替换文件名的模式,并且会感激任何帮助。我正在使用PHP。
答案 0 :(得分:0)
如果您在img
中向其传递了多个$subject
个标记,则应获取所有来源。
preg_match_all( '/(?:src=\")(.+)(?:\")/i', $subject, $matches);
测试$matches
匹配
echo '<pre>'.print_r($matches,true).'</pre>';
答案 1 :(得分:0)
使用:
preg_match_all( '/(?:src=\")((?:http(?:s|):\/\/|)(?:www\.|)site\.com\/uploads\/tmp\/[a-z0-9]+\.jpg(?:\")/is', $subject, $matches);
var_dump( $matches );