dede提取文章内容所有图片

由于在dedecms文章管理系统中,使用静态生成页里不能直接使用php脚本代码,间接地使用runphp。受到一些限制,使用不了循环语句把数组中的图片循环释放出来。我只好使用笨方法一个一个罗列。是有点像死方法,但还挺实用的。

代码如下:

{dede:field.body runphp="yes"}
$str=strip_tags("@me","<img>");
preg_match_all('/<img.*\\>/isU',$str,$ereg);
    //$len=count($ereg\[0\]);
    @me="";
    if($ereg\[0\]\[0\]){
         @me.=$ereg\[0\]\[0\];
    }
    if($ereg\[0\]\[1\]){
        @me.=$ereg\[0\]\[1\];
    }
    if($ereg\[0\]\[2\]){
        @me.=$ereg\[0\]\[2\];
    }
    if($ereg\[0\]\[3\]){
        @me.=$ereg\[0\]\[3\];
    }
    if($ereg\[0\]\[4\]){
        @me.=$ereg\[0\]\[4\];
    }
    if($ereg\[0\]\[5\]){
        @me.=$ereg\[0\]\[5\];
    }
    。。。
{/dede:field.body}

下面是先获取图片地址然后再转换的

{dede:field.body runphp='yes'}
$str=strip_tags("@me","<img>");
preg_match_all("/src=\\"\\/?(.*?)\\"/",$str,$ereg);
    @me="";
    if($ereg\[1\]\[0\]){
         @me.="<img src='".$ereg\[1\]\[0\]."'/>";
    }
    if($ereg\[1\]\[1\]){
         @me.="<img src='".$ereg\[1\]\[1\]."'/>";
    }
    if($ereg\[1\]\[2\]){
         @me.="<img src='".$ereg\[1\]\[2\]."'/>";
    }
    if($ereg\[1\]\[3\]){
         @me.="<img src='".$ereg\[1\]\[3\]."'/>";
    }
    if($ereg\[1\]\[4\]){
         @me.="<img src='".$ereg\[1\]\[4\]."'/>";
    }
    if($ereg\[1\]\[5\]){
         @me.="<img src='".$ereg\[1\]\[5\]."'/>";
    }
{/dede:field.body}