我有一个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";
?>
答案 0 :(得分:0)
试试这个:
preg_replace('#images_client/39/structure/[^/]+/#s', 'images_client/39/structure/xxx/');
答案 1 :(得分:0)
尝试使用[^/]
代替\S
:
/images_client\/39\/structure\/([^\/]+)\//