php - 解析用户在表单上的输入以强制在 php 中的名称上大写

标签 php forms

我有一个小功能来纠正用户输入,如果他们没有在表单中大写他们的名字。

<pre>
function fixWords($x){
    // define process
    $x= strtolower($x);
    $x= ucwords($x);
    return $x;
}   
</pre>

我发现双名和带连字符的名字没有大写。拆分 double 和带连字符的名称以强制大写的最佳方法是什么。谢谢。

最佳答案

您可以使用 ucfirst()preg_replace_callback() ,即:

function fixWords($name)
{
    return preg_replace_callback('/\b\w/i', function($matches) {
        return ucfirst(strtolower($matches[0]));
    }, $name);
}

print fixWords("some name");
# Some Name
print fixWords("some-name");
# Some-Name

PHP Demo

关于php - 解析用户在表单上的输入以强制在 php 中的名称上大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43748686/

相关文章:

php - Laravel 5.5 - 查询多个条件,但仅当 POST 数据等于 1 时

php - 查询数据库后打印出部分唯一的数据

php - mysqli_fetch_assoc()需要参数/调用成员函数bind_param()错误。如何获取并修复实际的mysql错误?

php - 使用php更新mysql不起作用

html - 如何设置具有相同 ID 和不同操作属性或 url 的 2 个 <form> 标签的样式?

php - php中的单例模式

php - 在 PHP 中循环并自动提交 HTML 表单

forms - 无法设置对 RefEdit 表单控件的引用

model-view-controller - spring 3.0 MVC 似乎忽略了 messages.properties

javascript - 为什么在 if 条件为 false 的情况下提交表单?