十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
先用正则表达式匹配tr标签内的数据,再用正则表达式匹配td标签内的数据
创新互联是专业的宝安网站建设公司,宝安接单;提供做网站、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行宝安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
完整的php程序如下
?php
$str = 'tr class="text-c"td1/tdtd2/tdtd3/tdtd4/tdtd5/tdtd6/tdtd7/tdtd8 18:55/td!--设防状态--td9/td!--围栏状态--td10/tdtd class="td-status"11/tdtd class="td-status"12/tdtd class="td-manage" style="max-width: 300px;"13/td/tr';
preg_match_all ('/tr class="text-c"(.+?)\/tr/im', $str, $result);
for ($i=0; $icount($result[1]); $i++) {
$s=$result[1][$i];
preg_match_all ('/td.*?(.+?)\/td/im', $s, $matches);
for ($j=0; $jcount($matches[1]); $j++) {
echo $matches[1][$j]."br";
}
}
?
按照你的要求编写的php正则匹配程序如下
?php
$str="@123456%@123456%";
$regex="
/@(.*?)%/
";
preg_match_all($regex,$str,$result);
for($i=0;$icount($result[1]);$i++){
echo $result[1][$i]."\n";
}
?
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“\n”或“\r”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
扩展资料:
正则表达式的特点是:
1. 灵活性、逻辑性和功能性非常强;
2. 可以迅速地用极简单的方式达到字符串的复杂控制。
3. 对于刚接触的人来说,比较晦涩难懂。
由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。
参考资料来源:
百度百科-正则表达式
用file方法获得的数组元素是包含行结束符(换行符)的,所以直接比对的话肯定是不匹配的。可以用rtrim()函数把行结束符去掉再来比对,但建议最好换成逐行读取文件的方式而不是直接用file函数读取到数组中