<a href=\"/product/index.jsp?productId=3178816\"> <font color=\"black\">Spalding Limited Edition Official USA Indoor/Outdoor Composite Basketball </font> </a> 
<br> <span class=\"pagetext\"> <b>Item#: </b>&nbsp;3178816 <br> </span> <b>IN STOCK </b> <br>Leaves warehouse in 1 - 2 full bus. days. - <font class=details>( <A HREF=\"javascript:showCustomPopUp(\'../helpdesk/popup.jsp?display=ship&subdisplay=process\',\'availability\',\'width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes\');\" class=details>Details </A>) </font> <BR> <img src=\"http://nba.imageg.net/images/icons_gift.gif\" width=\"13\" height=\"13\" align=\"absmiddle\" border=\"0\" hspace=3>Gift wrapping available &nbsp;&nbsp; <font class=\"details\">( <A HREF=\"javascript:showCustomPopUp(\'../helpdesk/popup.jsp?display=gift&subdisplay=gw\',\'getfile1\',\'width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes\');\" 
求红色字体的正则表达式

解决方案 »

  1.   

    把红色部分替换成 (.+) 就可以
    把整个字符串去掉换行,
    最后利用preg_replace
      

  2.   

    用一个表达式匹配3处红色的数据?还是用3次分别匹配!?楼主如果就是为了提取红色数据的话!直接用strip_tags()把里面的标签都去掉不就完了~!如果是抓网页数据的话,最好分匹匹配!希望把问题说具体点!
      

  3.   

    $s = <<<AAA
    <a href=\"/product/index.jsp?productId=3178816\"> <font color=\"black\">Spalding Limited Edition Official USA Indoor/Outdoor
    Composite Basketball </font> </a>
    <br> <span class=\"pagetext\"> <b>Item#: </b>&nbsp;3178816 <br> </span> <b>IN STOCK </b> <br>Leaves warehouse in 1 - 2 full b
    us. days. - <font class=details>( <A HREF=\"javascript:showCustomPopUp(\'../helpdesk/popup.jsp?display=ship&subdisplay=proces
    s\',\'availability\',\'width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes\');\" class=details>
    Details </A>) </font> <BR> <img src=\"http://nba.imageg.net/images/icons_gift.gif\" width=\"13\" height=\"13\" align=\"absmid
    dle\" border=\"0\" hspace=3>Gift wrapping available &nbsp;&nbsp; <font class=\"details\">( <A HREF=\"javascript:showCustomPop
    Up(\'../helpdesk/popup.jsp?display=gift&subdisplay=gw\',\'getfile1\',\'width=500,height=400,toolbar=no,status=no,menubar=no,s
    crollbars=yes,resizable=yes\');\"
    AAA;if (preg_match_all("/>([A-Z][.-\w\s\/\d]+)</m",$s,$m)) {
      print_r($m[1]);
    }
      

  4.   

    <?php
    $str = ' <a href=\"/product/index.jsp?productId=3178816\"> <font color=\"black\">Spalding Limited Edition Official USA Indoor/Outdoor Composite Basketball </font> </a> 
    <br> <span class=\"pagetext\"> <b>Item#: </b>&nbsp;3178816 <br> </span> <b>IN STOCK </b> <br>Leaves warehouse in 1 - 2 full bus. days. - <font class=details>( <A HREF=\"javascript:showCustomPopUp(\'../helpdesk/popup.jsp?display=ship&subdisplay=process\',\'availability\',\'width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes\');\" class=details>Details </A>) </font> <BR> <img src=\"http://nba.imageg.net/images/icons_gift.gif\" width=\"13\" height=\"13\" align=\"absmiddle\" border=\"0\" hspace=3>Gift wrapping available &nbsp;&nbsp; <font class=\"details\">( <A HREF=\"javascript:showCustomPopUp(\'../helpdesk/popup.jsp?display=gift&subdisplay=gw\',\'getfile1\',\'width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes\');\" ';
     $reg = '/font.+black.+>([^<>]+)<\/font.+>([^<>]+?)\- ?<font.+?details.+<img.+>(.+?)(?:&nbsp;)+.*<font.+/is';
     if(preg_match($reg, $str, $arr))
      print_r($arr);
    ?>
      

  5.   

    我想通了,避免那些问题,把这个table 全部都获取到,请帮我解决这个问题:$str=
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    ...
    <table width="580" cellspacing="1" cellpadding="3" align="center" valign="top" border="0" id="cartBgclrProdDtls">
    ....
    ....
    </table>
      preg_match("/<table.*id=\"cartBgclrProdDtls\">(.|\n)*<\/table>/",$str,$isurl);
      echo $isurl[0];调试时,没有打印任何东西!
    请各位大侠们 劳神劳神!!!!!!
      

  6.   

    Array
    (
        [0] => font color=\"black\">Spalding Limited Edition Official USA Indoor/Outdoor Composite Basketball </font> </a> 
    <br> <span class=\"pagetext\"> <b>Item#: </b>&nbsp;3178816 <br> </span> <b>IN STOCK </b> <br>Leaves warehouse in 1 - 2 full bus. days. - <font class=details>( <A HREF=\"javascript:showCustomPopUp('../helpdesk/popup.jsp?display=ship&subdisplay=process','availability','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes');\" class=details>Details </A>) </font> <BR> <img src=\"http://nba.imageg.net/images/icons_gift.gif\" width=\"13\" height=\"13\" align=\"absmiddle\" border=\"0\" hspace=3>Gift wrapping available &nbsp;&nbsp; <font class=\"details\">( <A HREF=\"javascript:showCustomPopUp('../helpdesk/popup.jsp?display=gift&subdisplay=gw','getfile1','width=500,height=400,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes');\" 
        [1] => Spalding Limited Edition Official USA Indoor/Outdoor Composite Basketball 
        [2] => Leaves warehouse in 1 - 2 full bus. days. 
        [3] => Gift wrapping available 
    )
      

  7.   

    我用的 zend studio + PHP5.2.5