用php如何提取内容

怎么把所有3字开头的6位数字提取出来... 怎么把所有3字开头的6位数字提取出来 展开
 我来答
休馨忆2538
2014-09-11 · TA获得超过100个赞
知道答主
回答量:172
采纳率:0%
帮助的人:54.8万
展开全部
如果你要<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all

//提取所有代码
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码
echo $match[0];

//然后再提取<li></li>之间的内容
$pattern = '/<li.*?>(.+?)<\/li>/is';

preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);

foreach($new_arr as $kkk){
echo $kkk;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ixyqq_net
2014-09-11 · TA获得超过888个赞
知道小有建树答主
回答量:1160
采纳率:0%
帮助的人:1285万
展开全部

你描述的不是很清楚,你的数据格式是什么样的呢。

你也可以正则匹配所有

<?php
preg_match_all('/^3[\d]{5}/is', $string, $matches);
echo "<pre>";
print_r($matches);
echo "</pre>";
?>

望采纳 Thx

更多追问追答
追问
数据格式为字符串,如“abc123hd360010随意文字 380190”
我想提取360010和380190出来
用你的好像不行
追答
<?php
$string = 'abc123hd360010-abc123hd380190';
preg_match_all('/3[0-9]{5}/is', $string, $matches);
echo "<pre>";
print_r($matches);
echo "</pre>";
?>

这样

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友665d59e
2014-09-11 · 超过29用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:64.8万
展开全部
Preg_match("^3[0-9]{5}",$string) //$string是要被匹配的字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
火篱笆
2014-09-11 · TA获得超过1796个赞
知道大有可为答主
回答量:1797
采纳率:76%
帮助的人:866万
展开全部
用 preg_match( '/^3[0-9]{5}/', $str, $tostr );
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式