-4

我有一个字符串示例:“over-80---of-international----visitors-want-to-return”

如何删除多个“--”到“-”以写入网址对不起我的英语很糟糕

4

4 回答 4

5
$string = 'over-80---of-international----visitors-want-to-return';
$string = preg_replace('#-{2,}#', '-', $string);
于 2013-07-17T07:03:11.637 回答
1

preg_replace 应该工作:

$s = preg_replace('/-{2,}/', '-', "over-80---of-international----visitors-want-to-return");

但是,如果确实 OP 正在 .htaccess 中寻找 mod_rewrite 规则,那么这将起作用:

RewriteRule ^(.*?)(-)-+(.*)$ /$1$2$3 [L]
于 2013-07-17T07:03:46.113 回答
0

尝试这个:

$new = 'over-80---of-international----visitors-want-to-return';

do {
    $old = $new;
    $new = str_replace('--', '-', $old);
} while($old != $new);

这个循环改变 - 到 - 直到没有什么可做的。

于 2013-07-17T07:01:03.303 回答
-1

您需要使用str-replace

$string = "over-80---of-international----visitors-want-to-return";
$replaced = str_replace("--", "-", $string);
于 2013-07-17T07:05:09.087 回答