2013-08-25 32 views
0

我正在尋找剝離下面的url的一部分,但沒有正則表達式的經驗,或者如果這甚至我會使用。使用php剝離目錄路徑的部分

我有這個網址:

/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框架相匹配的也可以是任何名稱...

是怎麼過的安全承擔CoreTheme之後的任何東西都是靜態的。上面的字符串將變成,使用字符串替換:

CoreTheme_AdminPanel_Template_Form_Update.php 

正如我在這段代碼所做的:

$class_name = str_replace('/', '_', $path . $name); 

其中路徑是,在我的解決方案,CoreTheme/AdminPanel/Template/Form/Update.php和$ name是Update

回答

0

如果 「在/ var/WWW/WordPress的/可溼性粉劑內容/主題/ Aisis框架/」 是恆定的我只想做:

str_replace("/var/www/wordpress/wp-content/themes/Aisis-Framework/","",$path); 

否則,您需要一些常量來獲取模式,例如深度目錄數或特定模式匹配。

+0

我只記得通過wordpress我可以通過'wp-get_name() - > name'來獲得'Aisis-Framework' - 使其成爲靜態的,在那裏可以去掉'wp_get_theme() - >名稱。 '/''讓我想要什麼? – Adam

+0

我不知道專門的WordPress,但如果wp_get_theme()是一個函數,只是簡單地返回您的主題名稱,如:$ theme = wp_get_theme() - name; $ pathyouwant = str_replace($ theme。「/」,「」,$ path)將刪除返回的所有內容。 –