php 正则匹配函数体

代码如下:

<?php
$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);

print_r($matches);
?>

(0)

相关推荐

  • PHP正则匹配图片并给图片加链接详解

    正则: 复制代码 代码如下: $newstext=preg_replace(preg_replace('/(<img[^>]+src\s*=\s*"?([^>"\s]+)"?[^>]*>)/im', '<a href="$2″>$1</a>', $newstext); 解说: 1.preg_replace和str_replace的区别: str_replace只是纯字符替换,而preg_replace才是正则替换

  • 关于php正则匹配汉字的方法介绍

    php正则匹配汉字! /^[\x{4e00}-\x{9fa5}]+$/u 以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式 大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果. 下面是utf-8编码的例子:$str = "汉字";if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {print("该字符串全部是中文");} else {

  • PHP用正则匹配form表单中所有元素的类型和属性值实例代码

    前言 最近工作中遇到一个需求,需要在正则匹配页面中,所有可能存在的 form 表单的元素,可能有 input,action,select,textarea等等所有可能的元素,本文给出一个代码示例.感兴趣的朋友们可以参考学习. 实例代码如下 假设页面 1.html 的网页源代码是: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>一个含有 form 表单

  • php正则表达式中的非贪婪模式匹配

    一般情况下,正则表达式的匹配是贪婪模式的,比如下面这个例子: 字符串:....src="http://www.bloghome.cn/1.mp3" type="application/x-mplayer2" .... 要求的结果:http://www.bloghome.cn/1.mp3 如果匹配表达式写为:/src="(.*)"/,则得不到正确的结果,因为最后一个双引号的匹配是贪婪模式的. 解决办法:匹配表达式写为: /src="(.*

  • php中utf-8编码下用正则表达式如何匹配汉字

    在javascript中,要判断字符串是中文是很简单的.比如: 复制代码 代码如下: var str = "php编程"; if (/^[\u4e00-\u9fa5]+$/.test(str)) { alert("该字符串全部是中文"); } else { alert("该字符串不全部是中文"); } 想当然的,在php中来判断字符串是否为中文,就会沿袭这个思路: 复制代码 代码如下: <?php $str = "php编程&qu

  • php匹配网址的正则 几乎可以匹配任何网址

    比较简单的 $str = ''; $isMatched = preg_match('/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/', $str, $matches); var_dump($isMatched, $matches); 几乎可以匹配任何网址: ^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\..])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int

  • PHP匹配连续的数字或字母的正则表达式

    正则表达式的写法规则:"/规则需要写在2个斜杠中间/". (. :小数点)用于匹配除换行符之外的所有字符. (\s:反斜杠小写s)用于匹配单个空格符,包括tab键和换行符: (\S:反斜杠大写S)用于匹配除单个空格符之外的所有字符: (\d:反斜杠d)用于匹配从0到9的数字:也可以这样写:[0-9] (\w:反斜杠小写w)用于匹配字母,数字或下划线字符: (\W:反斜杠大写W)用于匹配所有与\w不匹配的字符: 元字符包括: +, *,? 元字符理解起来容易混淆,所以我在后面做了代码结果

  • PHP匹配多行的正则表达式分析

    复制代码 代码如下: <table> <tr><td>aaaa</td></tr> <tr><td>bbbb</td></tr> <tr><td>cccc</td></tr> <tr><td>dddd</td></tr> </table> 像这种的文本,用PHP的正则表达式怎么匹配?? 我最初

  • 浅谈php正则表达式中的非贪婪模式匹配的使用

    通常我们会这么写: 复制代码 代码如下: $str = "http://www.baidu/.com?url=www.sina.com/"; preg_match("/http:(.*)com/", $str, $matches); print_r($matches); 结果: 复制代码 代码如下: Array ( [0] => http://www.baidu/.com?url=www.sina.com [1] => //www.baidu/.com?

  • php用正则表达式匹配URL的简单方法

    在PHP的官网上看到的parse_url()函数的替代方案.结果和parse_url()函数差不多,是使用正则实现的.URI 是 Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位. 对象分组: 复制代码 代码如下: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?12            3 

随机推荐