我有以下字符串"Il kelb ta Mariia jismu Il Bobo"
用户通常输入上面的句子。有时他们会以的形式输入句子
"Il-kelb ta Mariia jismu il--Bobo" - i.e. double dashes OR
"Il---kelb ta Mariia jismu il---Bobo" - i.e. double dashes; or
"Il-----------------------kelb ta Mariia jismu il-------Bobo" - i.e. double dashes; or
我通常使用str_replace,例如str_replace('--','-')
如果它的三个破折号为str_replace('---','-')
如果其四个破折号为str_replace('----','-')
在某些情况下,无论如何,它都会回声
我想知道如何制作一个函数,不允许两个短划线相邻,否则str_replace('----','-')
将用于无限组合。
如果它们相邻,我想输出一个破折号。
使用preg_replace
preg_replace("/-{2,}/", "-", $string);
您可以通过以下方式使用简单的while
循环:
while (strpos($string, "--") !== false)
$string = str_replace("--", "-", $string);
或者,如果你打算使用正则表达式,你可以这样做:
$string = preg_replace("/'-+/", "-", $string);