2015-09-03 47 views
0

我的网页有一个变量$ currentPage。这是我当前所在页面的php标记名称的字符串。PHP-解析字符串中没有空格的单词?

实例:所有类别下的用户部分有名称,如: uAdminNew,uAdminEdit,等..

我想换一种方式来解析出uAdmin,只是确定什么才是硬道理(新和编辑)并从那里调用函数。

我有我的导航系统工作通过这些名称,因此我不能更改名称或我会使它更容易解析。如添加分隔符。

这是仅Regex可以解决的问题,还是有更简单的解决方案我错过了?如果这是正则表达式,你能解释还是提供一个链接,我将如何使用它来测试一个特定的字符串列表?我对它很陌生。

+1

'uAdmin'有没有不同?如果没有,那么就不需要正则表达式:'str_replace('uAdmin','',$ currentPage)' –

回答

1

是否页面名总是uAdmin开始?如果是这样,你可以通过“uAdmin”与explode()分割字符串:

$page = 'uAdminEdit'; 
echo explode('uAdmin', $page)[1]; //Output: Edit 

或者干脆去掉“uAdmin”与str_replace()

$page = 'uAdminEdit'; 
echo str_replace('uAdmin', '', $page); //Output: Edit 
+0

这真的很好!很简单,完成工作!我感谢您的帮助。 – user5166162

2

例如,所以:

$str = 'uAdminEdit';  
$ar = preg_match('/([A-Z][^A-Z]+$)/', $str, $m);  
echo $m[1]; // Edit 
0

如果你只是想uAdmin后的部分,使用正则表达式捕获组

preg_match('/uAdmin(.*)/', $sub, $matches); 
echo $matches[1]