首页 > 解决方案 > 如何替换 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';

标签: phpxml

解决方案


您可以使用strtouppericonv

// 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


推荐阅读