你能帮我解决我的问题吗?
我想创建一个函数来将空格替换为破折号,然后我找到了解决方案
这是我发现的提示:
function slug($phrase, $maxLength=100000000000000)
{
$result = strtolower($phrase);
$result = preg_replace("/[^A-Za-z0-9's-._'/]/", "", $result);
$result = trim(preg_replace("/['s-]+/", " ", $result));
$result = trim(substr($result, 0, $maxLength));
$result = preg_replace("/'s/", "-", $result);
return $result;
}
我的问题是我想创建一个反之亦然的替换破折号到空格
示例输入:
冲刺到空间
示例输出
冲向太空
我该怎么做?
您可以使用
以下基于环顾的preg_replace
:
$result = preg_replace('/(?<!'s)-(?!'s)/', ' ', $input);
正则表达式演示
这将避免-
被空间包围时将其替换为空格。
第一行只是清理字符串。
最后一行执行替换功能。
切换参数应该可以解决问题
$result = preg_replace("/'-/", " ", $result);
它将帮助您:
$output = str_replace(',', ' ', $result);
$result = str_replace('-', ' ', $result);
=> - 到空格
$result = str_replace(' ', '-', $result);
=>空格到 -