2011-10-24 72 views
1

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

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

另外,如果有人知道任何PHP类/功能,可以使格式化这些职位的工作更容易,请建议。

任何帮助将辉煌!

+0

*(相关)* [最佳方法解析HTML](http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) – Gordon

+0

可能重复的[我怎么能使用XPath和DOM来代替php中的节点/元素?](http://stackoverflow.com/questions/4614434/how-can-i-use-xpath-and-dom-to-replace-a-node-element -in-PHP) – Gordon

回答

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. :) 
    }); 
}); 
0

用正则表达式是这样的:

$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(保存环),但环可以很容易地扩展,例如使用图像功能创建缩略图。