<?php 
$s = "<img height=\"123\" src=\"1.jpg\" width=\"256\">";
eregi("src=[\"|\']?(.*\.jpg).*",$s,$r);
echo $r[1];
?>结果:
1.jpg

解决方案 »

  1.   

    请问$s是下面这样,想取出第一个图片的src,或者所有图片的src,如何做$s = "一些其他代码<script src=ds.js></script>一些其他代码<img height=\"123\" src=1.jpg width=\"256\">一些其他代码<img height=\"123\" src=1.jpg width=\"256\">一些其他代码";
      

  2.   

    $s = "一些其他代码<script src=ds.js></script>一些其他代码<img height=\"123\" src=1.jpg width=\"256\">一些其他代码<img height=\"123\" src=1.jpg width=\"256\">一些其他代码";
    preg_match_all('/\<img(?:\s.*)?src=(.+)(?:\s.*)?\>/U',$s,$m);
    print_r($m[1]);
      

  3.   

    <img.*?src=('|")?(?<target>.*?('|")?\s+.*>
      

  4.   

    大家考虑下这种情况
    <img src='http://www.test.com/test.php?title=Image%20from%20"Joah%20son"' />
      

  5.   

    preg_match_all('/\<img(?:\s.*)?src=[\'\"]?([^\'\"].+)[\"\']?(?:\s.*)?\>/U',$s,$m);
      

  6.   

    答案很多,仍不严密preg_match_all('/\<img[^\>]+src[\s\r\n]*=[\s\r\n]*([\'\"]?)([^\>\1]+)\1[^\>]*>/i',$str,$matches);
    print_r($matches[2]);