当前位置:  编程技术>php
本页文章导读:
    ▪php正则 查找html中包含id属性的html标签      如何用php正则表达式查找html中有id属性的标签? 即需要查找尖括号<>中,以及id=""的html标签。 例如:   字符串<div id="ab">123213</div><div >21314423</div> 不匹配<div >….........
    ▪php数组操作实例之拆分数组      在php中拆分数组,可以用array_slice函数。 array_slice()函数 返回数组中的一部分,从键offset开始,到offset+length位置结束。 其形式: array array_slice (array array, int offset[,int length])  offset 为正值时.........
    ▪php正则表达式匹配邮箱的问题解析      php正则表达式匹配邮箱,代码如下: <?php $a='/([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})/'; $b='1412424545645454545454545k@qq.com'; if(preg_match($a,$b)){ echo "电子邮件合法"; }else{ echo "电子邮件不合法啊"; } //.........

[1]php正则 查找html中包含id属性的html标签
    来源: 互联网  发布时间: 2013-12-24

如何用php正则表达式查找html中有id属性的标签?
即需要查找尖括号<>中,以及id=""的html标签。

例如:
 

字符串<div id="ab">123213</div><div >21314423</div>
不匹配<div >……</div>的内容/div>

以上内容,可以用如下的正则匹配:
 

<[a-zA-Z0-9][^>]+?id=[^>]+?>.*?</div>

这里举一个完整的php正则匹配包含ID属性的html标签的例子。
如下:

<?php
$str = '<div  id="ab">123213</div><div >213123</div>';
$search = '#<[a-zA-Z0-9][^>]+?id=[^>]+?>.*?</div>#is';
preg_match_all($search,$str,$r);
echo '<pre>';
print_r($r);
echo '</pre>';
?>

输出:
 

Array
(
    [0] => Array
        (
            [0] => <div id="ab">123213</div>
        )

)

本文地址:http://www./article/10373.html
分享到: QQ好友 QQ收藏 百度搜藏 新浪微博 腾讯微博 百度新首页 百度贴吧
  • 上一篇:php正则表达式匹配邮箱的问题解析
  • 下一篇:php正则 匹配无重复的5到10位数字
相关文章
  • 提取html标签的php代码示例
  • php入门教程(二十) php常用正则表达式
  • php提取HTML标签的方法举例
  • PHP正则表达式清除超链接文本的例子
  • php正则表达式匹配URL的小例子
  • php去除HTML标签的二种方法
  • php正则表达式匹配中文的二个例子
  • PHP转义正则表达式字符的函数
  • php 去除多余的HTML标签
  • php与css 标签云效果
  • 分享二个php 标签云的实例代码
  • php正则验证email地址的例子
 
猜你喜欢

    
[2]php数组操作实例之拆分数组
    来源: 互联网  发布时间: 2013-12-24

在php中拆分数组,可以用array_slice函数。

array_slice()函数
返回数组中的一部分,从键offset开始,到offset+length位置结束。

其形式:
array array_slice (array array, int offset[,int length]) 

offset 为正值时,拆分将从距数组开头的offset 位置开始;
如果offset 为负值,则拆分从距数组末尾的offset 位置开始。
如果省略了可选参数length,则拆分将从offset 开始,一直到数组的最后一个元素。
如果给出了length 且为正数,则会在距数组开头的offset+length 位置结束。
相反,如果给出了length且为负数,则在距数组开头的count(input_array)-|length|位置结束。

例子:

<?php
//拆分数组的例子
//by www.
  $fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");  
  $subset = array_slice($fruits, 3);  
  print_r($subset);  
  
  // output  
  // Array ( [0] => Pear [1] => Grape [2] => Lemon [3] => Watermelon )  
?>

例子,使用下负长度,看看会有什么结果?

<?php  
//拆分数组
//by www.
$fruits = array("Apple", "Banana", "Orange", "Pear", "Grape", "Lemon", "Watermelon");  
$subset = array_slice($fruits, 2, -2);  
print_r($subset);  
  
// output  
// Array ( [0] => Orange [1] => Pear [2] => Grape )  
?>

    
[3]php正则表达式匹配邮箱的问题解析
    来源: 互联网  发布时间: 2013-12-24

php正则表达式匹配邮箱,代码如下:

<?php
$a='/([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})/';
$b='1412424545645454545454545k@qq.com';

if(preg_match($a,$b)){
 echo "电子邮件合法";
}else{
 echo "电子邮件不合法啊";
} //by www.
?>

为何上面的输出为合法呢?
{2,10}这里不是只能放2到10位数字吗,但上面的邮箱却超出10位了。
 
这个正则是能匹配的,匹配到这样这部分 '545454545k@qq.com'
前面部分的1412424545645454不匹配,所以还是合法的。

正确匹配,可以修改为这样:

$a='/^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$/';

注意正则:/([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})/
它没有断言,意味着只要字符串中有符合的部分就匹配,因此{2,10}是只能2到10位匹配,但不针对整个字符串只要有一部分符合就匹配了。
要判断一整段字符串是否都匹配就要用断言。如^ $
/^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$/
注意头和尾加上了^ $

完善好的代码,如下:

<?php
$a='/^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$/';
$b='1412424545645454545454545k@qq.com';
if(preg_match($a,$b)){
 echo "电子邮件合法";
}else{
 echo "电子邮件非法";
} //by www.
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php验证码(附截图) iis7站长之家
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3