PHP代码:<?php
$html = '<div id="biuuu">51CTO</div>
<div id="biuuu_2">51CTO2</div>
<div id="biuuu_3">51CTO3</div>';preg_match_all('/\"([a-z0-9_]+)\">([^<>]+)<\/div>/',$html,$result);
print_r($result);
输出:
Array (
[0] => Array ( [0] => "biuuu">51CTO [1] => "biuuu_2">51CTO2 [2] => "biuuu_3">51CTO3 )
[1] => Array ( [0] => biuuu [1] => biuuu_2 [2] => biuuu_3 )
[2] => Array ( [0] => 51CTO [1] => 51CTO2 [2] => 51CTO3 ) )
为什么返回的数组里 元素还是数组; 为什么是上面的结果?求解释
$html = '<div id="biuuu">51CTO</div>
<div id="biuuu_2">51CTO2</div>
<div id="biuuu_3">51CTO3</div>';preg_match_all('/\"([a-z0-9_]+)\">([^<>]+)<\/div>/',$html,$result);
print_r($result);
输出:
Array (
[0] => Array ( [0] => "biuuu">51CTO [1] => "biuuu_2">51CTO2 [2] => "biuuu_3">51CTO3 )
[1] => Array ( [0] => biuuu [1] => biuuu_2 [2] => biuuu_3 )
[2] => Array ( [0] => 51CTO [1] => 51CTO2 [2] => 51CTO3 ) )
为什么返回的数组里 元素还是数组; 为什么是上面的结果?求解释
preg_match('/\"([a-z0-9_]+)\">([^<>]+)<\/div>/',$html,$result);
print_r($result); 输出的结果就应该明白了
Array[1]对应第一个()中的所有匹配结果,即([a-z0-9_]+)的匹配结果,
Array[2]对应第二个()中的所有匹配结果,即([^<>]+)的匹配结果。Array[0][0]对应两个()合起来的第一个匹配结果
……
Array[1][0]对应第一个()的第一个匹配结果
……
Array[2][0]对应第二个()的第一个匹配结果具体参考PHP帮助文件中preg_match_all函数说明。
这个是一共匹配的数组
[1] 是第一个()捕获的
[2] 是第二个()捕获的.
我觉得匹配的结果是:
[0] => "biuuu">51CTO [1] => "biuuu_2">51CTO2 [2] => "biuuu_3">51CTO3
这三个 ,但是为什么结果是上面那样啊??我是菜鸟新手,求大哥前辈们讲解一下....谢谢
\"([a-z0-9_]+)\">([^<>]+)<\/div>
想要怎么分析啊
要是 不知道正在语法 google 一下