我正在創建一個簡單的網頁翻譯字母之間的語言,我正在做。PHP Unicode str_replace顯示空白
下面是它如何工作的:
PHP頁面檢查,看看是否有是羅馬字母「X」,並與我的語言對應的西裏爾字母替換它。它工作正常,但在我完成添加所有的字母后,它停止工作。現在輸出顯示爲空白。
這裏是我的代碼:
<?php
header('content-type: text/html;charset=utf8');
mb_language('uni');
mb_internal_encoding('UTF-8');
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="/font/stylesheet.css"/>
<title>Roman Corstek To Cyrillic Corstek</title>
</head>
<body style="font-family: 'dejavusans', sans-serif">
<h1>Roman Corstek To Cyrillic Corstek</h1>
<p>This webpage uses the font 'DejaVu Sans', unless your browser does not support web fonts (all modern web browsers do) because it renders Cyrillic Corstek Glyphs the best, and because it's free and doesn't come with a restrictive <a href="http://www.fontsquirrel.com/license/DejaVu-Sans">license</a>. If you would like to download a copy for yourself click <a href="http://www.fontsquirrel.com/fonts/DejaVu-Sans">here</a>.</p>
<p>Enter your roman text below:</p>
<form action="cyrillic-roman.php">
<textarea cols="50" rows="10" name="roman">
</textarea>
<br/>
<input type="submit">
</form>
<?php
if($_GET['roman'] != "")
{
?>
<h2>Conversion:</h2>
<p><b>You entered:</b></p>
<p><?php echo $_GET['roman']; ?></p>
<p><b>Which in the Cyrillic Corstek Alphabet is:</b></p>
<p>
<?php
$output = $_GET['roman'];
//A With Macron
$output = str_replace("Ā", "Ă", $output);
$output = str_replace("ā", "ă", $output);
//B
$output = str_replace("B", "Б", $output);
$output = str_replace("b", "б", $output);
//V
$output = str_replace("V", "В", $output);
$output = str_replace("v", "в", $output);
//G
$output = str_replace("G", "Г", $output);
$output = str_replace("g", "г", $output);
//D
$output = str_replace("D", "Д", $output);
$output = str_replace("d", "д", $output);
//Œ
$output = str_replace("Œ", "Ё", $output);
$output = str_replace("œ", "ё", $output);
//Ž
$output = str_replace("Ž", "Ж", $output);
$output = str_replace("ž", "ж", $output);
//Í
$output = str_replace("Í", "И", $output);
$output = str_replace("í", "и", $output);
//J
$output = str_replace("J", "Й", $output);
$output = str_replace("j", "й", $output);
//K
$output = str_replace("K", "К", $output);
$output = str_replace("k", "к", $output);
//L
$output = str_replace("L", "Л", $output);
$output = str_replace("l", "л", $output);
//M
$output = str_replace("M", "М", $output);
$output = str_replace("m", "м", $output);
//N
$output = str_replace("N", "Н", $output);
$output = str_replace("n", "н", $output);
//Ó
$output = str_replace("Ó", "Ŏ", $output);
$output = str_replace("ó", "ŏ", $output);
//E
$output = str_replace("E", "Э", $output);
$output = str_replace("e", "э", $output);
//Ŋ
$output = str_replace("Ŋ", "Ң", $output);
$output = str_replace("ŋ", "ң", $output);
//Ñ
$output = str_replace("Ñ", "Н̆", $output);
$output = str_replace("ñ", "н̆", $output);
//P
$output = str_replace("P", "П", $output);
$output = str_replace("p", "п", $output);
//R
$output = str_replace("R", "Р", $output);
$output = str_replace("r", "р", $output);
//Ů
$output = str_replace("Ů", "У", $output);
$output = str_replace("ů", "у", $output);
//F
$output = str_replace("F", "Ф", $output);
$output = str_replace("f", "ф", $output);
//S
$output = str_replace("S", "Ц", $output);
$output = str_replace("s", "ц", $output);
//Č
$output = str_repalce("Č", "Ч", $output);
$output = str_replace("č", "ч", $output);
//Š
$output = str_replace("Š", "Ш", $output);
$output = str_replace("š", "ш", $output);
//H
$output = str_replace("H", "Һ", $output);
$output = str_replace("h", "һ", $output);
//Þ
$output = str_replace("Þ", "Ө", $output);
$output = str_replace("þ", "ө", $output);
//Q
$output = str_replace("Q", "Қ", $output);
$output = str_replace("q", "қ", $output);
//U
$output = str_replace("U", "Ұ", $output);
$output = str_replace("u", "ұ", $output);
//W
$output = str_replace("W", "Ю", $output);
$output = str_replace("w", "ю", $output);
//Ď
$output = str_replace("Ď", "Ь", $output);
$output = str_replace("ď", "ь", $output);
//Ť
$output = str_replace("Ť", "Ъ", $output);
$output = str_replace("ť", "ъ", $output);
//Ī
$output = str_replace("Ī", "V", $output);
$output = str_replace("ī", "v", $output);
//É
$output = str_replace("É", "Ѣ", $output);
$output = str_repalce("é", "ѣ", $output);
//Y
$output = str_replace("Y", "Е", $output);
$output = str_replace("y", "е", $output);
//Ğ
$output = str_replace("Ğ", "Җ", $output);
$output = str_repalce("ğ", "җ", $output);
//Z
$output = str_replace("Z", "З", $output);
$output = str_replace("z", "з", $output);
echo $output;
?>
<?php
}
?>\
</body>
</html>
我在做什麼錯?
不知道問題出在哪裏,但我建議只是將數組中的搜索/替換值傳遞給'str_replace()' - 這將消除重複執行此函數的需要。至於你的實際問題,你有沒有做過任何嘗試調試,看看你的'$ output'的值與你的期望值有什麼不同? –