我遇到了这个php ucfirst(),使大写字母成为字符串中每个单词的第一个字符。
$foo = 'hello world!';
$foo = ucfirst($foo);
但是如何使用正则表达式和preg_match()来检查,然后显示错误信息?
if (preg_match('/\b\p{Ll}/', $mem_titlename))
{
$error = true;
echo '<error elementid="mem_titlename" message="TITLE - please use uppercase for each word."/>';
}
不确定该表达式在上面的示例中意味着什么,但我从某个地方得到它,它与ucfirst()做同样的工作......
答案 0 :(得分:5)
为什么要使用正则表达式?如果ucwords()
做你想做的事似乎没必要。如果是这样,请执行以下操作:
if (ucwords($mem_titlename) == $mem_titlename) {
$error = true;
echo '<error elementid="mem_titlename" message="TITLE - please use uppercase for each word."/>';
}
另请注意ucwords()
执行您所描述的内容,而不是ucfirst()
。 http://www.php.net/manual/en/function.ucwords.php