是否可以使用PHP将小写转换为大写并删除同一函数中的重音符号?
我正在编写一个PHP代码,其中是否可以使用PHP将小写转换为大写并删除同一函数中的重音符号?,php,xml,diacritics,Php,Xml,Diacritics,我正在编写一个PHP代码,其中$posted\u data['name']是我的变量。 为了将其转换为大写字母,我使用了以下内容:(这很好) 然而,我想知道是否有可能在同一行中实现另一个功能,即字母重读删除或清理方法 例如: 用户字符串输入:João 字符串输出:JOAO 因此,在这种情况下,有两个函数在这里运行:一个是从小写转换为大写,另一个是删除重音。这里有一些神奇之处,它将变音符号转换为非变音字符,然后将字母转换为大写 <?php function slug($string) {
$posted\u data['name']
是我的变量。
为了将其转换为大写字母,我使用了以下内容:(这很好)
然而,我想知道是否有可能在同一行中实现另一个功能,即字母重读删除或清理方法
例如:
用户字符串输入:João
字符串输出:JOAO
因此,在这种情况下,有两个函数在这里运行:一个是从小写转换为大写,另一个是删除重音。这里有一些神奇之处,它将变音符号转换为非变音字符,然后将字母转换为大写
<?php
function slug($string) {
return strtoupper(trim(preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ' '));
}
$string = 'João';
echo slug($string);
这里有一些神奇之处,它将变音符号转换为非变音字符,然后将字母转换为大写
<?php
function slug($string) {
return strtoupper(trim(preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ' '));
}
$string = 'João';
echo slug($string);
PHPs unicode支持(ext/intl)可以在一次调用中实现这一点:
$string = 'Hello ÄöÜ!';
var_dump(
\Transliterator::create('Any-Upper; Latin-ASCII')->transliterate($string)
);
输出:
string(10) "HELLO AOU!"
PHPs unicode支持(ext/intl)可以在一次调用中实现这一点:
$string = 'Hello ÄöÜ!';
var_dump(
\Transliterator::create('Any-Upper; Latin-ASCII')->transliterate($string)
);
输出:
string(10) "HELLO AOU!"
无论何时,只要您想获取该值,就可以调用它。它看起来像是在您刚刚发布的代码行之前,我会说将这一行放在它上面:
$name=slug($posted_data['name'])
然后使用$domElement=$domDocument->createElement('attribute',$name')代码>是的,这正是您使用它的方式。它正在运行OK:-)在您想要捕获该值时调用它。它看起来像是在您刚刚发布的代码行之前,我会说将这一行放在它上面:$name=slug($posted_data['name'])
然后使用$domElement=$domDocument->createElement('attribute',$name')代码>是的,这正是你使用它的方式。它运行正常:-)有可能,到目前为止你打了什么?有可能,到目前为止你打了什么?