gpt4 book ai didi

php - 字符串替换一行中的三个字符

转载 作者:行者123 更新时间:2023-11-30 08:56:18 25 4
gpt4 key购买 nike

我拥有的是 "text - something else",现在使用下面的代码我可以将其转换为 "text-something-else",但我对额外的替换不满意。

有没有办法把每一行合并成一行?

PHP:

$url = strtolower(str_replace(" ", "-", splitstring($item->item)));
$url = str_replace("---", "-", $url);

JS:

title = title.toLowerCase().replace(/ /g, '-');
title = title.replace(/---/g, '-');

后者取代了 prevent this:"text---something-else",因此需要它们。

最佳答案

使用正则表达式的力量:

preg_replace('/[ -]+/', '-', $str);

或:

str.replace(/[ -]+/g, '-');

以上显然会将任意数量的连字符或空格替换为单数连字符,这与您之前的逻辑略有不同。如果您想考虑任何其他字符,您可以轻松地执行以下操作:

/[\s_-]+/

以上将匹配任何空格、连字符或下划线。

作为在正则表达式中使用连字符的警告词,您应该确保它位于 [bracketed] 组的末尾,即 [abc-]或者您需要使用反斜杠对其进行转义,例如 [a\-bc]。这是因为正则表达式语法允许您匹配诸如 0-9 之类的范围,在这种情况下这不是您想要的。

关于php - 字符串替换一行中的三个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com