V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Andor_Chen
V2EX  ›  问与答

求助:PHP 正则表达式

  •  
  •   Andor_Chen · 2012-03-11 21:18:57 +08:00 · 4591 次点击
    这是一个创建于 4651 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对正则表达式实在头大,自己搞了一会还是没出结果,所以请教一下各位达人。

    目的:

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

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

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

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

    求指教,多谢。
    3 条回复    1970-01-01 08:00:00 +08:00
    Vim
        1
    Vim  
       2012-03-11 21:23:29 +08:00
    你先确定一下你这代码能跑,然后重新组织一下语言
    Natsuki
        2
    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
        3
    Andor_Chen  
    OP
       2012-03-11 22:18:35 +08:00
    @Natsuki 十分感谢,it just works

    @Vim 以后会组织好语言
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5322 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:44 · PVG 16:44 · LAX 00:44 · JFK 03:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.