如何用链接到图像替换未链接的图像?

时间:2011-10-24 09:09:25

标签: php html regex mobile

在PHP中

我正在将大量博客文章转换为更适合移动设备的内容。由于这些博客文章似乎有很多大图像,我想使用一些正则表达式或其他东西来浏览文章的HTML并替换当前没有链接到该图像的任何图像。这将允许移动浏览器在没有任何图像的情况下显示文章,但是可以在图像所在的位置显示图像的链接,从而缩小页面下载大小。

或者,如果有人知道任何可以使这些帖子格式化的PHP类/功能更容易,请建议。

任何帮助都会很棒!

3 个答案:

答案 0 :(得分:0)

要解析HTML,请使用HTML解析器。正则表达式不是解析HTML或XML文档的正确工具。 PHP的DOM提供了loadHTML()函数。见http://in2.php.net/manual/en/domdocument.loadhtml.php。使用DOM的函数来访问和修改img元素。

答案 1 :(得分:0)

如何在JQuery而不是PHP中执行此操作。这样,它将适用于不同的博客软件。

你可以做点像......

$(document).ready( function () {
    $('#content img').each(function () {
        var imageUrl = $(this).attr('src');
        //* Now write codes to delete off the image and put in a link instead. :)
    });
});

答案 2 :(得分:0)

Regexp是这样的:

$c = 0;
while(preg_match('/<img src="(.*?)">/', $html, $match) && $c++<100) {
  $html = str_replace($match[0], '<a href="'.$match[1].'">Image '.$c.'</a>');
}

您也可以使用preg_replace(保存循环),但循环允许轻松扩展,例如使用图像功能创建缩略图。