我正在尝试编写一个函数来清理用户输入。
我并不想让它变得完美。我宁愿有几个小写的名字和缩写,也不愿有一个完整的大写段落。
我认为该函数应该使用正则表达式,但我对这些非常不熟悉,我需要一些帮助。
如果以下表达式后跟一个字母,我想将该字母设为大写。
"."
". " (followed by a space)
"!"
"! " (followed by a space)
"?"
"? " (followed by a space)
更好的是,该函数可以在“.”、“!”之后添加空格。和 ”?”如果这些后面跟着一个字母。
如何实现这一目标?
$output = preg_replace('/([.!?])\s*(\w)/e', "strtoupper('\\1 \\2')", ucfirst(strtolower($input)));
由于修改器e在 PHP 5.5.0 中已弃用:
$output = preg_replace_callback('/([.!?])\s*(\w)/', function ($matches) {
return strtoupper($matches[1] . ' ' . $matches[2]);
}, ucfirst(strtolower($input)));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)