从其标记中删除所有图像获取选项(alt,类,样式等)

时间:2014-05-14 18:09:49

标签: php html css image str-replace

我有一个网站,人们可以直接从页面复制并粘贴到我的网站。然后将其保存到我的数据库中。

目前,我只计划让用户使用我的图像插入工具,它会将图像保存为基本的html图像标记:

  <img src="www.linktomimage.com"/>

或从论坛的编辑视图中复制,将图像放入BB标记:

  [img]www.linktoimage.com[/img]

当回显这些数据时,我会使用str replace将任何BBcode [img]标签更改为html图像标签,以便它们能够正确显示。

但是,我知道用户可以直接从页面复制,因为图像标签可以包装在各种标签中。

2次比较:

  <img src="http://AN IMAGE LINK URL" border="0" alt="" />

 <img class='bbc_img' src="http://AN IMAGE LINK URL">

许多不同的论坛使用各种版本。

我的问题是如何从这些图片链接中删除所有内容,然后将网址放入我自己的网址:

  <img class="buildimage" src="http://my image">

由于存在太多不同的变体,我无法想到使用str_replace()的方法。

希望这是有道理的。

作为参考,我目前使用它来将[img]标签更改为html并添加我的类:

    $text = str_replace("[IMG]", "<img class='buildimage' src='", "$text");
$text = str_replace("[/IMG]", "'>", "$text");

谢谢!克雷格。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式从字符串中获取src:

$string = '<img border="0" src="/images/sampleimage.jpg" alt="Image" width="100" height="100" />';

preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $string, $result);

$foo = array_pop($result);