2014-03-28 74 views
-4

$衔切= ' /home/nasann/public_html/wp-content/uploads/2014/03/bf4ff9b544.png';PHP:从字符串

需要的所有的话"wp-content/uploads/2014/03/bf4ff9b544.png"

应该返回 - "wp-content/uploads/2014/03/bf4ff9b544.png"

任何帮助表示赞赏。谢谢。

+4

问题-stop-至少应该表现出一定的努力-stop-请出示你的企图-stop- – GolezTrol

+1

我看到你使用WordPress。你在做什么来获得这个图像路径? WordPress内置的函数将返回图像的绝对路径。 –

+0

@Carles天帝Buxeda IAM使用plygin不得发布类型,怎么能做到这一点? – shadi

回答

1

使用explode

$title = ' /home/nasann/public_html/wp-content/uploads/2014/03/bf4ff9b544.png'; 
$part = explode("/public_html/",$title); // wp-content/uploads/2014/03/bf4ff9b544.png 

DEMO

+1

这也是在所有PHP版本很好的评估,[看看这里(http://3v4l.org/bBsQM) – webeno

+1

@Rikesh \t 如果我以任何改变世界nasann,你的代码无法正常工作 – shadi

+0

@shadi看我的更新。 – Rikesh

1

你可以试试:

$resultStr=explode("public_html/",$title)[1]; 

它会给你的第二个元素分裂字符串(索引号1):{"/home/nasann/","wp-content/uploads/2014/03/bf4ff9b544.png"}

加成: 基于此测试的基础上,@webeno的评论, http://3v4l.org/hNiPP

这个人是比较可靠:

$resultStr=explode("public_html/",$title); 
echo $resultStr[1]; 

这里是一个演示:http://3v4l.org/m7V4r

+0

@DHS为什么你认为这很复杂? – webeno

+0

感谢您的好意,我添加了一个解释,@DHS –

+2

这一个唯一的滑落是,它给在下面PHP 5.4的任何错误,请参阅[本次测试(http://3v4l.org/hNiPP) – webeno

0

假设/home/nasann/public_html/部分始终是相同的,这里是你可以做什么:

$title = '/home/nasann/public_html/wp-content/uploads/2014/03/bf4ff9b544.png'; 
$firstPart = strlen('/home/nasann/public_html/'); 
echo $output = substr($title, $firstPart); 

DEMO HERE

+0

如果我以任何改变世界nasann,你的代码无法正常工作 – shadi

+0

这是真的,这就是为什么我在开始时说“假设/ home/nasann/public_html/part始终是相同的......” – webeno

0

您还可以使用正则表达式。 ^表示它匹配字符串的开头。

$title = preg_replace('/^'.preg_quote(' /home/nasann/public_html/', '/') . '/', '', $title);