2016-04-09 39 views
0

特色图片我已经在那里用户输入的帖子内容的图片网址博客系统,如 - >获得从发布的内容

hey how are you <img src="www.example.com/image.png" style="height=100px;"> 

然后我想找到这个[IMG SRC]线,并以此为特色像这个 - > www.example.com/image.png

这里的图像是我曾尝试: $内容是发布从形式内容

preg_match('/(<img .*?>)/', $content, $img_tag); 
$feature = $img_tag[0]; // This preg_match finds img src tag and provide me 
$regex = '~<img.*?src=[\'"](?:view-source:)?([^"\']+).*?\/?>~'; 

$featured = preg_replace($regex, "$1", $feature); 

任何人都可以调整出他的问题回覆?

+0

所以你只是想从帖子中的第一个''标签获得'src'属性?或者我错过了什么? –

回答

1

如果你想提取第一<img>标签的src属性的内容,你需要的是这样的:

preg_match_all('/<img.*src="(.*)"/', $content, $matches); 

$featured = isset($matches[1][0]) ? $matches[1][0] : null; 

现在让我来解释一下发生在这里:

preg_match_all匹配整个字符串,而preg_match停止在第一行,除非您添加s修饰符。对于$matches数组,第一个索引代表匹配组。匹配组的编号是从表达式开始到组的数量为(0匹配整个表达式。因此$matches[1]代表src参数内匹配组的结果。

从该数组中,我们取第一个元素,即src属性中的第一个匹配img标记的内容。

当然,内容中不需要有任何图像,这就是为什么您应该在尝试访问结果之前调用isset

我希望这可以解释它。