php正则表达式提取
A. php 正则表达式 提取 “[数字]”
最简单的办法就是把非数字转换为空
<?PHP
$str = '[3]a1a22[26]b2b[123]';
preg_match_all('/\[\d+\]/', $str, $temp);// 正则查找[数字]
foreach ($temp[0] as $v)
{
$num .= $v . ' ';// 组合结果
}
echo preg_replace('/\[|\]/', '', $num);// 替换[]为空
?>
B. php正则表达式字符串中提取数字,并截取其中的6位
<?php
$str='b37ba964bb7dfab1869e1cf8';
$preg="/d/is";
preg_match_all($preg,$str,$arr);
$temp=implode('',$arr[0]);
echo$temp;//匹配的数字
echo'<br/>'.substr($temp,1,4);//第2位开始取4个
echo'<br/>'.substr($temp,2,5);//第3位开始取5个
?>
C. php求正则表达式。提取指定开头字符串和指定结束字符串之间的一段字符串。
preg_match('/yu.*cv/',$temp1,$m);
echo $m[0];
D. PHP正则表达式提取字符串中小括号中的数字
<?php
$str = "abcd(ab)(1),efg(10),hijk(lmn)(5)"; //可以设置成任意字符串
preg_match_all("|(.*)[(](.*)[)](.*)|isU",$str,$str_ary);
$total = 0;
foreach( $str_ary[2] as $value)
$total += intval($value);
echo $total;
?>
E. php 正则表达式 提取指定超链接中的url
preg_match_all('/<a[^>]+href="([^"]+)"[^>]+class="green"
[^>]+/Ui', $str, $arr);
print_r($arr[1]);
F. php正则表达式提取链接
$preg='/<a .*?href="(.*?)".*?>/is';
$str ='<a href="链接">123</a><a href="链接" target="_blank">345</a><a target="_blank" href="链接">678</a>';
preg_match_all($preg,$str,$match);
var_mp($match);
G. php 正则表达式 取出 li标签里的内容
可以写一个函数,获取到数组。
正则表达式是: <a[^>]*>s*([^<]*)s*</a>s*<[^>]*class="date">([^<]*)<
请对上面的 PHP中特殊符号进行转义。
$1 是内容,$2是日期
函数写法参考
<?php
$str='
<ul><li><ahref="#">内容111</a></li><li><ahref="#">内容111</a></li><li><ahref="#">内容111</a></li><li><ahref="#">内容111</a></li></ul>
<ol><li><ahref="#">内容2</a></li><li><ahref="#">内容2</a></li><li><ahref="#">内容2</a></li><li><ahref="#">内容12</a></li></ol>
';
$search='/<ul>(.*?)</ul>/is';
preg_match_all($search,$str,$r,PREG_SET_ORDER);
print_r($r);
$search='/<ol>(.*?)</ol>/is';
preg_match_all($search,$str,$r,PREG_SET_ORDER);
print_r($r);
?>
H. php 怎么用正则表达式从一段内容里提取出一段连续的10位数字
如果是连续的随机数
preg_match("/\d+/i",$str,$match);
$matches[0] 就是
如果是非连续的
$str = preg_replace("/\D/", “”, $str);
$str 就是