我正在尝试将空格和破折号后的每个字母大写。显然,将空格后的每个字母大写不是问题:
$string = preg_replace('/[^a-zA-Z-\s]/s', '', $string);
$string = ucwords(strtolower($string));
成功了。
但是,我找不到将破折号后的每个字母大写的方法,尽管这个正则表达式似乎匹配破折号后的每个字母(如果我相信答案)。
任何帮助表示赞赏!
我也试过:
$string = preg_replace('#\b[a-z0-9-_]+#i', strtoupper("$0"), $string);
没有成功...