我必须在我的PHP上将法语字符转换成英语.我使用了以下代码:
iconv("utf-8", "ascii//TRANSLIT", $string);
Run Code Online (Sandbox Code Playgroud)
但结果ËËË却是"E"E"E.
我不需要那个双引号和其他额外的字符 - 我想显示输出EEE.还有其他方法可以将法语翻译成英语吗?你能帮帮我吗?
我在R中使用UTF-8编码包含一些包含重音的字符串.例如
string="Hølmer"或string="Elizalde-González"
R中是否有任何不错的功能可以替换这些字符串中的重音符号?我在这里看到了PHP中的一些解决方案,但是我如何在R中执行此操作?
例如PHP代码
$unwanted_array = array( 'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U',
'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c',
'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o',
'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' );
$str = strtr( …Run Code Online (Sandbox Code Playgroud) 我得到(例如)两个字符串:
$a = "joao";
$b = "joão";
if ( strtoupper($a) == strtoupper($b)) {
echo $b;
}
Run Code Online (Sandbox Code Playgroud)
我希望即使重音也是如此.但是我需要它忽略重音而不是替换因为我需要它来回应"joão"而不是"joao".
我见过的所有答案都将"ã"替换为"a"而不是将比较设为真.我一直在阅读关于它的正常化,但我也无法使其正常工作.有任何想法吗?谢谢.
我有两个字符串
字符串1:"sebastien"
字符串2:"塞巴斯蒂安"
我想通过忽略é(Accents)字符来比较这两个字符串.谁能知道这个逻辑吗?
提前致谢
我的问题是,鉴于我有以下 php 代码来比较两个字符串:
$cadena1='JUAN LÓPEZ YÁÑEZ';
$cadena2='JUAN LOPEZ YÁÑEZ';
if($cadena1===$cadena2){
echo '<p style="color: green;">The strings match!</p>';
}else{
echo '<p style="color: red;">The strings do not match. Accent sensitive?</p>';
}
Run Code Online (Sandbox Code Playgroud)
我注意到,例如,如果我比较LOPEZ和LÓPEZ,则比较结果为假。
无论西班牙口音如何,是否有一种方法或功能可以比较这些字符串?
我正在使用F3(无脂框架)进行工作中的项目,偶然发现了一个我似乎无法找到任何信息的问题.Google和官方F3文档都没有给我任何东西.也许我只是在问错误的问题.这是问题所在.
我有一个看起来像这样的数组:(city => type => building)
$places = array(
'City A' => array(
'special' => array(),
'standard' => array('Campus', ),
),
'City B' => array(
'special' => array(
'collect',
'exam',
'Brännässlan',
),
'standard' => array(
'Building A',
'Building B',
'Building C',
'Building D (Library)',
'Capitol',
'Flair',
),
),
),
Run Code Online (Sandbox Code Playgroud)
我想要做的是检查数组中的每个建筑物,看看是否为它设置了相应的字典变量.我用$f3->exists('dict_select_hus_arrayValue')它来检查,它工作正常,直到函数遇到一个字母'ä'的建筑物.如果是,则会在文本中引发500错误Invalid hive key 'dict_select_hus_Brännässlan'.
我假设它与字符串的编码有关,但我在纯UTF-8环境中工作,F3应该能够处理它.还有其他人遇到过这个,更重要的是,找到了问题的解决方案吗?
我找到了一个简单的函数来从字符串中删除一些不需要的字符.
function strClean($input){
$input = strtolower($input);
$b = array("á","é","í","ó","ú", "ñ", " "); //etc...
$c = array("a","e","i","o","u","n", "-"); //etc...
$input = str_replace($b, $c, $input);
return $input;
}
Run Code Online (Sandbox Code Playgroud)
当我在口音或其他角色上使用它时,比如这个词'áéñí'它会打印出那些问号或奇怪的字符,例如: 输出http://img217.imageshack.us/img217/6794/59472278.jpg
注意:我正在使用strclean.php(包含此函数)和index.php,两者都是UTF-8.index.php如下所示:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
include('strclean.php');
echo 'óóóáà';
echo strClean('óóóáà');
?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
php ×6
string ×3
utf-8 ×2
compare ×1
comparison ×1
diacritics ×1
locale ×1
r ×1
strcmp ×1
unicode ×1