我想创建一个将空格替换为破折号的函数,然后我找到了一个解决方案
这是我发现的闷热:
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;
}
我的问题是我想创建一个反之亦然的替换短划线到空间
示例输入:
破折号 - 空
示例输出
划线到空间
我该怎么做?
答案 0 :(得分:2)
第一行只是清理字符串。
最后一行执行替换功能。
切换参数应该可以解决问题
$result = preg_replace("/\-/", " ", $result);
答案 1 :(得分:2)
您可以使用此基于环境的preg_replace
:
$result = preg_replace('/(?<!\s)-(?!\s)/', ' ', $input);
如果它被空格包围,这将避免用空格替换-
。
答案 2 :(得分:1)
它会对您有所帮助:
$output = str_replace(',', ' ', $result);
答案 3 :(得分:1)
$result = str_replace('-', ' ', $result);
=&gt; - 到空格
$result = str_replace(' ', '-', $result);
=&gt;空间 - -