求助:PHP 正则表达式

2012-03-11 21:18:57 +08:00
 Andor_Chen
对正则表达式实在头大,自己搞了一会还是没出结果,所以请教一下各位达人。

目的:

从字符串中取出特定函数的第一个参数值

$str = <form action="" method="post" onclick="<?php function_name('arg1', 'arg2' );?>>

需要取出 function_name 的第一个参数值(arg1)。

需要考虑的问题,1)函数名后的 ( 前后都可能有空格;2)参数调用可能是单引号或双引号。

求指教,多谢。
4400 次点击
所在节点    问与答
3 条回复
Vim
2012-03-11 21:23:29 +08:00
你先确定一下你这代码能跑,然后重新组织一下语言
Natsuki
2012-03-11 21:58:20 +08:00
$str= <<<EOT
<form action="" method="post" onclick=<?php function_name('arg1', 'arg2' );?>';
EOT;
$item = null;
if(preg_match_all("/function_name.*?([\'\"])(.*?)\\1/",$str,$matches)){
$item = $matches[2];
}



根据你的意思只能做到这样子
Andor_Chen
2012-03-11 22:18:35 +08:00
@Natsuki 十分感谢,it just works

@Vim 以后会组织好语言

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/29356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX