1. 如何用php语言中的字符串匹配函数匹配如下代码中的字符串,并将其赋值
preg_match_all('/?fid=([^"]*)">(d+.jpg)/is',$str,$Arr);
2. php中文正则匹配
php中utf-8编码下用正则表达式匹配汉字的最终正确表达式——/^[\x{4e00}-\x{9fa5}]+$/u,
GBK: preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str); //GB2312汉字字母数字下划线正则表达式。
编辑器查询或者 js匹配中文
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
或许你也需要匹配双字节字符,中文也是双字节的字符
匹配双字节字符(包括汉字在内):[^\x00-\xff]
3. php preg_match_all()函数怎么匹配文章中的所有图片链接并打印出来
<?php
$Html=@file_get_contents('5.html');
$Html=preg_replace('/s{2,}| /i','',$Html);//过滤掉换行和2个以上的空格
preg_match_all('/<imgs+[^>]*srcs?=s?['|"]([^'|"]*)['|"]/i',$Html,$Image);
print_r($Image);
图片,通常情况下,无论有什么属性,他最基本的有2点,<img开头, 有src属性!
那么只要匹配到这2个特征,其他的就别管他,这样,所有图片就出来了
4. php 正则表达式 url匹配
1,preg_grep(pattern,array);它的返回值是一个新数组,新数组的元素是成功匹配的元素。
5. PHP 正则匹配A标签获得连接和文字
<a\b[^>]*\bhref=([^\s>]+)[^>]*>[\s\S]*?([^<>]*)</a>
解释:
<a\b #匹配a标签的开始
[^>]* #匹配a标签href属性前的其他属性
\bhref=([^\s>]+) #匹配href属性,并将匹配到的内容捕获到分组1当中
[^>]*> #匹配a标签的结束
[\s\S]*? #匹配a标签文本前的img标签
([^<>]*) #匹配a标签文本并捕获到分组2当中
</a> #匹配a标签的关闭
分组1和分组2即为所需内容
简化版:
<a\s*href=([^>]+)><img[^>]+>([^>]+)</a>
实际上简化版可能效率更高……因为严格按照原文本格式来匹配。
不过如果标签形式有一点变化就可能导致匹配失败,所以这里写了两个版本。。
6. php正则匹配
‘这两个都是变化的’假设其他部分不变化。就可以
<?php
$t='<a target="_blank" href="http://www.77l.com/game/3087.html">
<a target="_blank" href="http://www.77l.com/news/1.html">
<a target="_blank" href="http://www.77l.com/catelog/13087.html">';
preg_match_all('/<a\s+.*?\s+href=(["\'])http:\/\/www\.77l\.com\/(\w+)\/(\d+).html\1>/',$t, $m);
for($i=0,$len=count($m[2]); $i<$len; $i++)
echo $m[2][$i].' => '.$m[3][$i].'<br />';
=============
game => 3087
news => 1
catelog => 13087