现在小弟遇到一个问题,就是想做一个正则匹配替换把文档里形如下列的图片链接:<img data-s="300,640" data-type="jpeg" src="http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg" data-ratio="0.7859712230215827" data-w="">都批量替换成这样的形式:
<script type="text/javascript">showImg('http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg');</script>就是用 <script type="text/javascript">showImg('   替换  <img data-s="300,640" data-type="jpeg" src="用   );</script> 替换 " data-ratio="0.7859712230215827" data-w="">好像听说用正则式替换可以实现,小弟实在不会正则式替换,所以就向大家请教,望教我啊

解决方案 »

  1.   


    $data = '<img data-s="300,640" data-type="jpeg" src="http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg" data-ratio="0.7859712230215827" data-w="">';$data = str_replace('<img data-s="300,640" data-type="jpeg" src="', '<script type="text/javascript">showImg(\'', $data);
    $data = str_replace('" data-ratio="0.7859712230215827" data-w="">', ');</script>', $data);
    echo '<xmp>';
    echo $data;
    echo '</xmp>';
      

  2.   


    <script type="text/javascript">showImg('http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg);</script>
      

  3.   


    $s = '<img data-s="300,640" data-type="jpeg" src="http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg" data-ratio="0.7859712230215827" data-w="">';
    echo preg_replace('/<img.+?src="([^"]+?)".+?>/i','<script type="text/javascript">showImg("$1");</script>',$s);
    /*
    <script type="text/javascript">showImg("http://mmbiz.qpic.cn/mmbiz/OsOjJJlzzCNmEgYON6oXk3TELcLSic9K6nlZOo1JjngzLgBBKb5aNAm9PsoNw14ZriagRXAmh8qGvgajpUS3t2Pg/0?wx_fmt=jpeg");</script>
    */