$content =<<< TEXT
<tr bgcolor="#F5F3F3"><td height="20"><b>【作  者】</b></td><td><a href="/search/search.php?vname=" target="_blank" title="赵晓波、王晓芬">赵晓波、王晓芬</a></td></tr>
TEXT;
$pattern = "/【作  者】.+>(.+)<\/a>/s"; 
preg_match($pattern, $content, $authors);print_r($authors);
Array
(
    [0] => 【作  者】</b></td><td><a href="/search/search.php?vname=" target="_blank" title="赵晓波、王晓芬">赵晓波、王晓芬</a>
    [1] => 赵晓波、王晓芬
)

解决方案 »

  1.   

    To:xuzuning(唠叨) 
    可能是我没有举完整的例子,你的那段代码在上面的数据中是正确的,但是当数据多了其它的内容时就不行了,比如“
    $content =<<< TEXT
    <tr bgcolor="#F5F3F3"><td height="20"><b>【作  者】</b></td><td><a href="/prodsearch/prodsearch.asp?vname=%B0%B2%CF%FE%B2%A8%A1%A2%CD%F5%CF%FE%B7%D2&uid=qwsgqifopsg7mga5m7gs5sugu" target="_blank" title="安晓波、王晓芬">安晓波、王晓芬</a></td></tr><tr bgcolor="#FFFFFF"><td height="20"><b>【出 版 社】</b></td><td><a href="/prodsearch/prodsearch.asp?vname=%BB%AF%D1%A7%B9%A4%D2%B5%B3%F6%B0%E6%C9%E7&uid=qwsgqifopsg7mga5m7gs5sugu" target="_blank" title="化学工业出版社">化学工业出版社</a></td></tr>
    TEXT;我的环境是PHP Version 4.3.2,Apache2 Windows2000
      

  2.   

    To:zairwolfb(君子兰)
    我试了这样:
    $pattern = "/【作  者】[^(<\/a>)]+<\/a>/s"; 
    也不行。
      

  3.   

    $pattern = "/【作  者】[^(<\/a>)]+?<\/a>/s"; 这样就行了加个?号,非贪婪匹配。不需要指定排除字符。
      

  4.   

    $pattern = "/【作  者】.+>(.+)<\/a>(.+)【出 版 社】/s";