我的代码有问题......
$text = "cat cow";
$a = array("cat", "cow");
$b = array("dog", "bull");
$c = array_combine($a, $b);
$output = strtr($text, $c);
此代码合并两个数组并替换文本。这工作正常但是当我用unicode字符尝试这个代码时...即
<?php
function convert($fromc, $toc, $otext) {
$raavi = array("~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "_", "=", "ਥ", "ੱ", "ਓ", "੍ਰ", "ਠ", "ੈ", "ੂ", "ੀ", "ੌ", "ਫ", "{", "}", "।", "ਤ", "ੱ", "ੲ", "ਰ", "ਟ", "ੇ", "ੁ", "ਿ", "ੋ", "ਪ", ".", "॥", "\\", "ੳ", "ੰ", "ਧ", "ਾਂ", "ਘ", "੍ਹ", "ਝ", "ਖ", "਼", ":", "\"", "ਅ", "ਸ", "ਦ", "ਾ", "ਗ", "ਹ", "ਜ", "ਕ", "ਲ", " ;", "'", "ਢ", "ਯ", "ਛ", "ੜ", "ਭ", "ਂ", "ੰ", ",", ">", "?", "ਡ", "ਣ", "ਚ", "ਵ", "ਬ", "ਨ", "ਮ", ",", "।", "/", "ੴ", "॥", "#", "੍ਰ", "•", "।", "ੴ", "ੴ", "☬", "ਸ਼", "ਖ਼", "ਗ਼", "ਜ਼", "ਫ਼", "੍ਯ", "#", "॥", "ਲ਼", "੧", "੨");
$drchatrik = array("~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{", "}", "|", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\", "A", "S", "D", "F", "G", "H", "J", "K", "L", ":", "\"", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "Z", "X", "C", "V", "B", "N", "M", ",", ">", "?", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/", "¡", "«", "¬", "R", "•", "»", "Ã", "Å", "Ç", "È", "É", "Ê", "Ë", "Ì", "Î", "Ñ", "Ò", "Ü", "ñ", "ò");
$combine = array_combine($$fromc, $$toc);
$converted = strtr($otext, $combine);
echo ($converted);
}
?>
它不起作用。当我用print_r
回显数组时,它会组合数组,但不会替换文本。
Plzz帮助..
答案 0 :(得分:0)
您可以尝试从http://code.google.com/p/mbfunctions/
使用mb_strtr另请提供转换功能不起作用的示例参数。
答案 1 :(得分:0)
我很难理解你想要什么,但我会用一个循环迭代数组
$raavi = array("ਥ", "ੱ");//shortened for ease of reading
$drchatrik = array("Q", "W");
function convert($otext) {
global $raavi, $drchatrik
return(trim(preg_replace($raavi, $drchatrik, $otext)));
}
foreach(array_combine($fromc, $toc) as $otext)
{
$text_out[] = convert($otext)
}
print_r($text_out);
答案 2 :(得分:0)
如果您将其称为convert("drchatrik", "raavi", "text here")
,那么您可以将其称为混合使用