php 正则匹配函数体

yipeiwu_com5年前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);
?>

相关文章

php探针不显示内存解决方法

php探针不显示内存解决方法

本文介绍下php探针代码不显示cpu、内存、硬盘等信息的原因与处理方法,在使用php探针时遇到的一些问题。 一般php探针不显示以上信息的原因如下: 1,proc目录权限 看看proc目...

如何在PHP中使用正则表达式进行查找替换

1. preg_match — 执行一个正则表达式匹配int preg_match ( string $pattern , string $subject [, array &$matc...

PHP array_multisort()函数的使用札记

函数  bool array_multisort ( array &$arr [, mixed $arg = SORT_ASC [, mixed $arg = SORT_REGULAR...

解析PHP高效率写法(详解原因)

1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静...

php flush无效,IIS7下php实时输出的方法

在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了flush(),把缓冲中的内容发送到浏览器。但在iis7里面用fastcgi模式配置的php怎么都实现不了,结果总是一起...