php - 如何替换 PHP 中的重音和小写字符?
问题描述
我有一个 PHP 代码,它实际上从表单中加载数据,然后将其保存为 XML 文件。需要设置一个规则,其中不允许在表单中使用重音和小写字符。换句话说,输出 XML 文件属性元素字段需要用UPPERCASE填充,并且不能 ACCENTUATED。
有没有办法将此“规则”设置到我的 PHP 代码中?
即使最终用户输入小写字符和/或重音符号?
例如。用户输入(名为名称/地址的表单字段):
姓名:约翰
地址:拉唐
文件输出:
<attribute domainname="Name">JOHN</attribute>
<attribute domainname="Address">RATAO</attribute>
PHP 代码:(实际)
$domElement = $domDocument->createElement('attribute', $posted_data['name']);
$domAttribute = $domDocument->createAttribute('domainname');
$domAttribute->value = 'Name';
$domElement = $domDocument->createElement('attribute', $posted_data['address']);
$domAttribute = $domDocument->createAttribute('domainname');
$domAttribute->value = 'Address';
解决方案
您可以使用strtoupper和iconv。
// get the value
$value = isset($_POST['nameOfField']) ? $_POST['nameOfField'] : '';
// set the locale
setlocale(LC_ALL, "en_US.utf8");
// replace accents
$value = iconv('UTF-8','ASCII//TRANSLIT',$value);
//make upper case
$value = strtoupper($value);
更多关于替换字符串中的重音符号:替换重音字符 php
推荐阅读
- json - Apache Spark 读取 Json 流仅返回 Null
- sql - 文件上的 For 循环使无限循环
- angular - 使用自定义按钮将高图表导出到 CSV
- mysql - XAMPP - mysql 和 phpmyadmin 不显示图像
- mysql - 加入查询但消除重复
- javascript - 如何使用 JavaScript 和 Html 创建不可编辑的网站
- google-colaboratory - 通过 Colab 将 Google Drive 集成到 Google Cloud 存储
- typescript - 如何使用类验证器装饰器比较 graphql 类型的输入类型中的字段
- python - shell stdout PYTHON 处理比 PYTHON txt 文件处理慢得多
- ios - 在轴图 ios 上同时使用字符串和日期