Php 正则表达式获取匹配中字符串的特定部分
在一个文件的源代码中,我有几个“钩子”,我想从PHP脚本中获得这些钩子,以便应用一些额外的变量。 钩子应用于源代码,如:@include_plugin PluginName@ 我可以使用Php 正则表达式获取匹配中字符串的特定部分,php,regex,preg-match-all,Php,Regex,Preg Match All,在一个文件的源代码中,我有几个“钩子”,我想从PHP脚本中获得这些钩子,以便应用一些额外的变量。 钩子应用于源代码,如:@include_plugin PluginName@ 我可以使用preg_match_all('/@include_plugin.*@/',$sSource,$aPlugins)找到它们 这个正则表达式提供了我想要的匹配项,但是也可以直接获取PluginName而不是我的解决方案,然后必须对匹配项应用子字符串吗?您需要在正则表达式中使用捕获组。这些是通过在图案的一部分周围放置
preg_match_all('/@include_plugin.*@/',$sSource,$aPlugins)找到它们代码>
这个正则表达式提供了我想要的匹配项,但是也可以直接获取PluginName
而不是我的解决方案,然后必须对匹配项应用子字符串吗?您需要在正则表达式中使用捕获组。这些是通过在图案的一部分周围放置括号来创建的
因此,我们将您的*
更改为(.*)
检查var转储的输出,索引1处将有一个新的子数组,其中只包含插件名称
array(2) {
[0]=>
array(1) {
[0]=>
string(27) "@include_plugin PluginName@"
}
[1]=>
array(1) {
[0]=>
string(10) "PluginName"
}
}
非常感谢。这就是我要找的+1个已接受(10分钟内,由于接受时间限制;))。
array(2) {
[0]=>
array(1) {
[0]=>
string(27) "@include_plugin PluginName@"
}
[1]=>
array(1) {
[0]=>
string(10) "PluginName"
}
}