preg_replace取出一个额外的字符串

时间:2010-01-23 21:40:01

标签: php preg-replace

我有一个preg_replace取出一个不应删除的字符串的一部分。 它应该寻找:images_client / 39 / structure / party-2 / 并将其替换为:images_client / 39 / structure / xxx / 它确实这样做了,但它也在apple_logo.jpg

之前删除了图像/它的一部分
 <?php 
    echo '<br>-------- preg_replace on a css string with slashes ------<br>';
    $string='/images_client/39/structure/party-2/images/apple_logo.jpg';
    echo 'Before: '.$string.'<br>';
    print preg_replace("/images_client\/39\/structure\/(\S+)\//", "images_client/39/structure/xxx/", $string) . "\n";
?>

2 个答案:

答案 0 :(得分:0)

试试这个:

preg_replace('#images_client/39/structure/[^/]+/#s', 'images_client/39/structure/xxx/');

答案 1 :(得分:0)

尝试使用[^/]代替\S

/images_client\/39\/structure\/([^\/]+)\//