解决方案 »

  1.   


    preg_match只能获取第一张图片地址, 但是若该张图片不符合尺寸时, 如何获取第二张图片?
      

  2.   

    preg_match 不是可以用正则匹配吗? 可以写正则来匹配你想要的图片啊。
      

  3.   

    听上去很像提取文章缩略图,过滤小图标
    preg_match_all函数貌似是直接返回所有匹配结果,如果文章太长或者图片过多确实影响性能
    循环preg_match,每次都切掉已匹配的前部分文章呢?如何快速获得断点的位置?
    用preg_replace_callback能做到吗?回调函数有办法结束主调函数吗?
    换一种思路,你的文本是采集来的还是用户发布的?后者可以把图片存成附件形式入库方便管理,用了ueditor这类可以修改源码实现
      

  4.   

    preg_match_all 一次性取出
    循环结果,必要时跳出(中断检查)循环中 preg_match 或 strstr 逐次检查,直到符合条件两者效率一样,且 preg_match 存在剩余串判断的问题对于 php 5.2 可用纯字符串函数,逐字符识别。效率明显高于使用正则
    对于 php 5.3 及以上,两者效率相当。不必讳疾忌医建议对原串做 strip_tags 只保留 img 标记,处理起来要快好几倍
      

  5.   

    另外,若程序无后续动作(即允许在符合条件时 die)
    那么 preg_replace_callback 最符合你的需求
      

  6.   

    版主提出的strip_tags提取img标签 一针见血啊
    楼主说的单字段管理多个数据用逗号分隔,仅限用于极个别情况:不搜索,不排序,数量少等等,你可以学一下数据库范式这个东东,说白了就是多数据一定要单独建表方便管理
    前阵子自己写的菜鸟CMS,图片单独建表,上传改为ajax,返回id和src。提交一些文章字段和这几个图片id后,在图片表中修改这些图片的其他字段,与当前文章绑定。管理起来非常方便。