preg_match_all 正则匹配

<?
//$c = stripslashes($article['content']);
$c = "<img border=\"0\" alt=\"\" src=\"/spacl/upload/news/20110303060340_62866.gif\" />&nbsp;<h1>十年计划 即将启程</h1>

<p>&nbsp;</p><p><img border=\"0\" alt=\"\" src=\"/spacl/upload/news/20110303141027_80125.jpg\" /></p>";

 

 //第二个参数为需要匹配的数组,第二个为匹配后输出的数组

preg_match_all("/<img[^>]*src=\"([^\"]+)\"/i", $c, $m);
var_dump($m);

?>

 

//第一个数组为 全部模式匹配数组  第二个数组为括号(注意是小括号啊)的子模式匹配的字符串组成的数组,当然你可以继续添加小括号匹配子模式 而数组下标就依次递加下去

 

输出如下

array(2) {            [0]=>array(2) {                            [0]=>string(72) "<imgborder="0"alt=""src="/spacl/upload/news/20110303060340_62866.gif""                             [1]=>string(72) "<imgborder="0"alt=""src="/spacl/upload/news/20110303141027_80125.jpg""                             }             [1]=>array(2) {                             [0]=>string(43) "/spacl/upload/news/20110303060340_62866.gif"                             [1]=>string(43) "/spacl/upload/news/20110303141027_80125.jpg"                             }}

 

全文:http://hi.baidu.com/elick/item/9c9c5aa607e2e1258819d33b

 

亲测:

<?php
    header("Content-Type: text/html; charset=UTF-8");
    $html = '<div id="biuuu">php自学网</div><div id="biuuu_2">php自学网2</div><div id="biuuu_3">php自学网3</div>';
    preg_match_all('/<div id="([a-z0-9_]+)">([^<>]+)<\/div>/',$html,$result); //每一个小括号就是一个子表达式。
    var_dump($result[0]); //全部匹配表达式的数组,也就是包含匹配子表达式的数组;
    var_dump($result[1]); //匹配第一个子表达式的数组;
    var_dump($result[2]); //匹配第二个子表达式的数组;
?>

posted @ 2014-06-08 22:27  stma  阅读(658)  评论(0)    收藏  举报