我有一个包含一些 HTML 和 PHP 文本的长字符串。在该字符串中,我想搜索所有出现的几个 PHP 函数调用并获取参数。现在我需要正则表达式的帮助。
要查找的函数link_to
:link_to_function
和mail_to
。
我未完成的工作副本:
$regexp = '...' // Help here please!
$str = "Bla bla bla <?php echo link_to('Lorem', 'Ipsum') ?> bla bla bla <?php echo link_to_function(\"Lorem2\", \"Ipsum2\") ?> bla bla bla...";
preg_match_all
(
$regexp,
$str,
$matches
);
我希望它返回如下内容:
$matches = array
(
[0] => array
(
[0] => "link_to('Lorem', 'Ipsum')"
[1] => "link_to_function(\"Lorem2\", \"Ipsum2\")"
)
[1] => array
(
[0] => "Lorem"
[1] => "Lorem2"
)
[2] => array
(
[0] => "Ipsum"
[1] => "Ipsum2"
)
);
如您所见,参数可以用单引号和双引号括起来。参数中应该可以使用所有类型的字符。
还有一件事:每个调用都可以有一个或两个参数。