我要执行的操作是-
仅在破折号后有一个字符的情况下才用破折号BUT替换该空格。原因是我有一个字符串数组,其中一些字符串在最后一个单词或字符后插入空格。(这是我无法控制的)。例如,在下面的示例中,我已使用%20来显示空格在哪里string1 = farmer%20jones
string2 = farmer%20jim%20
我有以下正则表达式 preg_replace('/\s./', '-', $string);
我想我已经走了一半,但是上面的代码在字符前搜索了一个空格,并用一个空格替换了 -
我用上面的正则表达式得到的是 string1 = farmer-jones
string2 = farmer-jim-
我想要的是: string1 = farmer-jones
string2 = farmer-jim
我不希望-
添加该尾随。
任何帮助,不胜感激
您可以在此处使用负前瞻:
$repl = preg_replace('/\h+(?!$)/', '-', $string);
\h+
将匹配1个或多个水平空白。(?!$)
将断言下一个位置不是行尾。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句