求一正则表达式

oyjqdlp364356378 2010-07-29 10:54:55
假如一文件中有包含以下

$actionMaps = array(
................,
................,
);

字符串,如何把该字符串匹配出来~``
...全文
55 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
phpboy 2010-07-29

$str = '
$actionMaps = array(
................,
................,
);
';

preg_match('/\$actionmaps.*?\);/is', $str, $match);

print_r($match);
回复
Dleno 2010-07-29

$str='
$a="432435";
$actionMaps = array(
0=>array(
0=>"123",
"a"=>"abc",
),
1=>array(
0=>"123",
"a"=>"abc",
),
);
//gfdgfdgdfgd
$actionMaps1 = array(
0=>"123",
"a"=>"abc",
);
$fsfs=54353;
//543535
';
preg_match_all('~(\$[a-zA-z0-9_]+\s?=\s?array\([^;]*?\);)~is',$str,$data);
print_r($data[0]);
回复
amani11 2010-07-29
代码最好多一些,这种方法,数组中间如果内容如果有字符串);就完蛋了


如果字符串符合php语法,可以考虑include这个文件,然后将数组打印出来


$str = 'asdfas^……
$actionMaps = array(
................,
................,
);
^!@#@!#!
';
echo preg_match_all('/\$actionMaps = array\((.*?)\);/is', $str, $match);

print_r($match[0]);

回复
CunningBoy 2010-07-29
<?php
$subject = file_get_contents('yourfilename');
preg_match_all('/\$actionMaps = array\(.*\);/is', $subject, $matches);
print_r($matches);
?>
回复
oyjqdlp364356378 2010-07-29
没人先顶顶~`
回复
oyjqdlp364356378 2010-07-29

$actionMaps = array(

'list' => 'ListAction',
'view' => 'ViewAction',
...,

);


相当于就是把array里面的数据提取出来~`
回复
oyjqdlp364356378 2010-07-29
里面的....不是.是省略符号~```
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告