duanhe4267 2012-03-03 17:56
浏览 26
已采纳

在Wordpress中显示图像后添加图像URL

I am trying to display the URL of an Image after every image in the main content on Wordpress. To do this I am building a plugin.

If add the following code within my plugin I can display 2 of the same Image. as the code to display the image is stored in $1 below.

$content = preg_replace("/(<img([^>]*)>)/i",
    "<div class=\"image_wrap\">$1<div class=\"linkbox\">" .
    "$1</div></div>", $content );

In theory all I need to do is hack at the second instance of $1 in the above code to strip the image src. So below is the code I have tried and it using some substr and strpos functions but that doesn't seem to want to work for me.

$content = preg_replace("/(<img([^>]*)>)/i",
    "<div class=\"image_wrap\">$1<div class=\"linkbox\">" . 
     substr(substr("$1", strpos("$1","src=\"")+5), 0,strpos(substr("$1",strpos("$1","src=\"")+5),"\"")) .
</div></div>", $content );

Is there anything glaringly wrong with this?

Thanks

  • 写回答

2条回答 默认 最新

  • doutang7707 2012-03-04 10:06
    关注

    Here is the solution that I eventually figured out thanks to Mario in the above comments

    $content = preg_replace_callback(
            '/(<img([^>]*)>)/i',
            create_function(
                '$matches',
                'return CREDIT_HEAD . 
                 "<div class=\"image_wrap\">$matches[0]<div class=\"linkbox\">" . 
                            substr(substr("$matches[0]", strpos("$matches[0]","src=\"")+5), 0,strpos(substr("$matches[0]", strpos("$matches[0]","src=\"")+5),"\"")) .
                        "</div></div>" . 
                        CREDIT_FOOT;'
            ),
            $content);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 matlab生成电测深三层曲线模型代码
  • ¥50 随机森林与房贷信用风险模型
  • ¥50 buildozer打包kivy app失败
  • ¥30 在vs2022里运行python代码
  • ¥15 不同尺寸货物如何寻找合适的包装箱型谱
  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作