本帖最后由 liuser_cn 于 2013-08-09 20:51:54 编辑

解决方案 »

  1.   

    \s 写成了 s
    $pattern_Title =   "/target=\"\_blank\"\>.*\<\/a\>\s+\<\/h4\>/is";
      

  2.   

    其实这样写好点
    $pattern_Title =   "/target=\"\_blank\"\>.*\<\/a\>[\s\S]*\<\/h4\>/is";//。
      

  3.   

    应该不是这个原因,得频繁的用上\s
    $pattern_Title =   "/target=\"\_blank\"\>\s*(\S*)\s*\<\/a\>\s*\<\/h4\>/i"; //标题
    求简化高质量正则表达式- -!
      

  4.   


    问一下,修饰符s用了之后,直接抓到低结束不了,比如说我想在</a>这里结束,需要用什么来声明吗?
      

  5.   

    $s =<<< TXT
    <h4>
                <a id="4658205654481332717" istitle="true" href="javascript:void(0);" onclick="makeDetailUrl(this, '/search/showDocDetails?', '4658205654481332717', 'ucs09', 'PHP');" target="_blank">
     
            PHP
                </a>
     
                </h4>
    TXT;
    $pattern_Title = '#target="_blank">(.*)</a>\s+</h4>#is';
    preg_match_all($pattern_Title, $s, $r);
    print_r($r);Array
    (
        [0] => Array
            (
                [0] => target="_blank">
     
            PHP
                </a>
     
                </h4>
            )    [1] => Array
            (
                [0] => 
     
            PHP
                
            ))
      

  6.   

    $pattern_Title = '#target="_blank">\s*(.*)\s*</a>#is';
    preg_match_all($pattern_Title, $s, $r);
    print_r($r);Array
    (
        [0] => Array
            (
                [0] => target="_blank">
     
            PHP
                </a>
            )    [1] => Array
            (
                [0] => PHP
                
            ))