得到一个字符串
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>可能还有D类等等,不确定这个字符串有多长我想从里面截取内容 href="" 这里面的内容保存成一个数组
把A类 B类 C类 ..保存成一个数组。
请问应该怎么操作啊。
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>可能还有D类等等,不确定这个字符串有多长我想从里面截取内容 href="" 这里面的内容保存成一个数组
把A类 B类 C类 ..保存成一个数组。
请问应该怎么操作啊。
<?php
$str =<<<eod
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
eod;
preg_match_all("#<a href=\"([\s\S]*?)\"#i",$str, $matchs);
echo "<pre>";
print_r($matchs[1]);
echo "</pre>";
?>
<?php
$str =<<<eod
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
eod;
preg_match_all("#<a href=\"([\s\S]*?)\"[\s\S]*?>([\s\S]*?)</a>#i",$str, $matchs);
echo "<pre>";
print_r($matchs);
echo "</pre>";
?>
$html = '<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>';$html = preg_replace('/>(\s+)/','>',$html);
$html = preg_replace('/(\s+)</','<',$html);
$html = preg_replace('/(\s+)/',' ',$html);
$html = str_replace("\r\n",'',$html);
$html = str_replace("\t",'',$html);
echo "<pre>";
$result=array();
preg_match_all('~<li[^>]*?class="cat-item[^>"]*?"[^>]*?><a[^>]*?href="(.*?)"[^>]*?>(.*?)</a></li>~is',$html,$data);
foreach($data[1] as $key=>$item){
$result[$key]["href"]=$item;
}
foreach($data[2] as $key=>$item){
$result[$key]["title"]=$item;
}
print_r($result);
$str = <<< HTML
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
HTML;
preg_match_all('#<a href="(.+)".+>(.+)</a>#Ui',$str,$m);
var_dump($m);
?>
$s = <<<str
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
str;preg_match_all("/(http:\/\/\d+.\d+.\d+.\d+.\/.+\/\?cat=\d+).*>(.*)<.*>/", $s, $arr);
var_dump($arr);
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
s;
preg_match_all('/<a href=\"(.*)\"/',$str, $matchs);
echo "<pre>";
print_r($matchs[1]);
echo "</pre>";
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
str;preg_match_all("/(http:\/\/\d+.\d+.\d+.\d+.\/.+\/\?cat=\d+).*>(.*)<.*>/", $s, $arr);
var_dump($arr);<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>====><li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">C类</a>
</li>
是这个吧??
<li class="cat-item cat-item-1"><a href="http://192.168.0.116/edo25/?cat=1" title="book">A类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo25/?cat=3" title="software">B类</a>
</li>
<li class="cat-item cat-item-3"><a href="http://192.168.0.116/edo5/?cat=3" title="software">C类</a>
</li>
str;preg_match_all("/(http:\/\/\d+.\d+.\d+.\d+.\/.+\/\?cat=\d+).*>(.*)<.*>/", $s, $arr);
var_dump($arr);