PHP正则表达式提取公共html之后的所有内容

PHP正则表达式提取公共html之后的所有内容,php,regex,preg-replace,Php,Regex,Preg Replace,可能是一个简单的文件路径,但我有像/var/www/html/mysite/releases/20130123113638/public\u html/images/image.jpg这样的文件路径 发布路径不断变化的地方。我只需要提取public_html之后的路径-有人能建议最好的方法吗?非常感谢以下是您需要的: $text = '/var/www/html/mysite/releases/20130123113638/public_html/images/image.jpg'; preg_

可能是一个简单的文件路径,但我有像
/var/www/html/mysite/releases/20130123113638/public\u html/images/image.jpg这样的文件路径
发布路径不断变化的地方。我只需要提取public_html之后的路径-有人能建议最好的方法吗?非常感谢

以下是您需要的:

$text = '/var/www/html/mysite/releases/20130123113638/public_html/images/image.jpg';
preg_match('/public_html(.*)$/Usmi', $text, $res);
echo $res[1];

您不需要使用
regex
为此,use可以使用一些简单的函数,如
strrpos()
substr()
,例如:

$path = "/var/www/html/mysite/releases/20130123113638/public_html/images/image.jpg";
$index = strrpos($path, "public_html/");
$path = substr($path, $index + 12);
// $path is now equal to 'images/image.jpg'

你真的试过什么吗?比如看各种PHP提供的服务?类似这样的<代码>#/var/www/html/mysite/releases/([0-9]+)/public_html/images/image.jpg#i