我希望删除以下网址的一部分,但没有正则表达式的经验,或者甚至是我会使用的。
我有这个网址:
/var/www/wordpress/wp-content/themes/Aisis-Framework/CoreTheme/AdminPanel/Template/Form/Update.php
我想剥离一切形式:
CoreTheme/AdminPanel/Template/Form/Update.php
是否有一种简单的方法可以做到这一点,并且这样做是为了使“CoreTheme”之前的内容量可以是x个字符长,其中x是任意数字。
它也应该与CoreTheme这个词不匹配,因为它可能是任何名称,它也应该在Aisis-Framework上不匹配,因为它也可以是任何名称......
如何安全地假设CoreTheme之后的任何东西都是静态的。使用字符串替换:
将上面的字符串转换为CoreTheme_AdminPanel_Template_Form_Update.php
正如我在这段代码中所做的那样:
$class_name = str_replace('/', '_', $path . $name);
在我的解决方案中,路径是CoreTheme/AdminPanel/Template/Form/Update.php
,$ name是Update
答案 0 :(得分:0)
如果“/ var / www / wordpress / wp-content / themes / Aisis-Framework /”是常数我会这样做:
str_replace("/var/www/wordpress/wp-content/themes/Aisis-Framework/","",$path);
否则你需要一些常量来获得一个模式,比如深度目录的数量或匹配的特定模式。