代码出处:jUnion适用平台:Windows, Linux(Ubuntu),php-5.2.5+,Apache功能:抓取整个站点的图片,暂无借助php的curl插件开发, 后期完善配置:config目录下 domain_name:域名(默认:bizhibar.com) request_site:网站网址(默认:http://www.bizhibar.com/) request_url:从网站的哪个页面开始(默认:http://www.bizhibar.com/) accept_type: 图片类型(默认:gif, bmp, png, ico, jpg, jpeg) sav...
1 修饰符:好象没有讲 2 匹配模式好象有些少 比如$cp = preg_replace( "@@is", "", $cp ); $cp = preg_replace( "@@is", "", $cp ); $cp = preg_replace( "@@is", "", $cp ); ?>出现"@@我就迷糊 希望得到帮助,多谢 "@@非贪婪模式,意思是匹配@有时候需要[^>]+?获取精确匹配。http://www.bkjia.com/PHPjc/313762.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/313762.htmlTechArticle1修饰符:好...
好了,那么我出几个题,不用正则,看我怎么解决的。 1.清除HTML中所有的标签,只保留超级链接。 我用strip_tags。 strip_tags($data,$tags) $data为字符串,$tags为保留的标签。 strip_tags($data,'')即可。完了?对,就那么简单。 如果我还想保留,则strip_tags($data,'') 2.截取$str中从$str1到$str2中间的字符串的第一个匹配。 function str_cut($str ,$start, $end...
preg_grep (PHP 4, PHP 5) preg_grep -- 返回与模式匹配的数组单元 说明 array preg_grep ( string pattern, array input [, int flags] ) preg_grep() 返回一个数组,其中包括了 input 数组中与给定的 pattern 模式相匹配的单元。 flags 可以是以下标记: PREG_GREP_INVERT 如果传递入此标记,preg_grep() 会返回输入数组中不匹配给定 pattern 的单元。本标记自 PHP 4.2.0 起可用。 自 PHP 4.0.4 起,preg_grep() 返回的结...
if (mb_ereg("^[\w\-\.]{1,32}$", $str)) { echo 'yes'; } else { echo 'no'; } ?> http://www.bkjia.com/PHPjc/319195.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/319195.htmlTechArticle?php if(mb_ereg("^[\w\-\.]{1,32}$",$str)){ echoyes; }else{ echono; } ?...
"^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配; "notice": 匹配包含notice的字符串; 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。 这里还有几个字符 '*', '+',和 '?', 他们用来表示一个...
echo preg_replace("/(?]*)(?=\>)/i","#", "你好,点这里看看你好,点这里看看"); ?> 正则:/(?]*)(?=\>)/ (?(?=exp) 匹配exp前面的位置 此正则 匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符 例子: 找到这些字符(url)用 # 替换,就可以去掉html里的所有链接。http://www.bkjia.com/PHPjc/320070.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/320070.htmlTechArticle?php echo preg_replace("/(?=href=)([^\]*)(?...
代码如下:$data = php_strip_whitespace('test.php'); //去掉注释,空格,换行(不包括字符串中的) echo $data; $data = preg_match_all(" / function\s+ #匹配function和后面的空格 [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* #匹配函数名 \(([^)]*?)\)\s+ #匹配函数参数,并且作为子模式捕获 \{ (.*?) \}(?=(?:\s*function|\s*?$)) #匹配大括号,仅当后面紧跟着function或者处于字符串结束位置时 /xi ", $data, $matches); prin...
代码如下://包含PHP Simple html Dom 类库文件 include_once('./simplehtmldom/simple_html_dom.php'); //采集html function getwebcontent($url){ $ch = curl_init(); $timeout = 10; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); $contents = trim(curl_exec($ch)); curl_close($ch...
如下正则:$a=2tngdng垌3; echo preg_replace(/[^<]*?/,,$a); 会提示:Warning: preg_replace(): Unknown modifier p in E:\phpLearn\test.php on line 12 原因是: 在正则模式中,用/做定界符,但正则中也含有/,因此会出现此错误,PHP误当后面的一个中的斜杠是结束的定界符。 解决办法: 1、加一个转义符:echo preg_replace(/[^<]*?<\/span>/,,$a); 2、改其它定界符:如echo preg_replace({[^<]*?},,$a);http://www.bkjia.com/P...
代码如下:$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE $str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签 $str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签 $str=preg_replace("/<(\/?meta....
代码如下:$str = 中华人民共和国123456789abcdefg; echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName); 运行一下上面这段代码,看会有什么提示信息? Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:wwwrootphptest.php on line 2 原来,PHP正则表达式中不支持下列 Perl 转义序列:L, l, N, P, p, U, u, or X 在 UTF-8 模式下,允许用“x{...}”,花...
php正则匹配汉字!/^[\x{4e00}-\x{9fa5}]+$/u以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果。下面是utf-8编码的例子:$str = "汉字";if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {print("该字符串全部是中文");} else {print("该字符串不全部是中文");} 下面的例子包含gbk,gb2312的例子: $action ...
/*PHP正则提取图片img标记中的任意属性*/$str = 'PHP正则提取或更改图片img标记中的任意属性'; //1、取整个图片代码preg_match(/<\s*img\s+[^>]*?src\s*=\s*(\|\")(.*?)\\1[^>]*?\/?\s*>/i,$str,$match);echo $match[0]; //2、取widthpreg_match(/<img.+(width=\"?\d*\"?).+>/i,$str,$match);echo $match[1]; //3、取heightpreg_match(/<img.+(height=\"?\d*\"?).+>/i,$str,$match);echo $match[1]; //4、取srcpreg_match(/<img.+s...
因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 代码如下:/*正则取图片img标记中的任意属性*/ $word = '111 22 中国人'; //取整个图片代码 preg_match('/]*?src/s*=/s*(/'|/")(.*?)//1[^>]*?//?/s*>/i',$word,$matches); echo $matches[0];//结果: $w...