ひどく変換されたヘブライ語PDFを処理するために、HTML文書内のテキストを逆順にするPHPスクリプトを作成しています。 (sigh :))なぜ私は不器用な文字を取得していますか?
しかし、すべてのスクリプトは非常に奇妙な出力を持っています。ヘブライ文字の代わりに空白文字(疑問符のついた黒い菱形)に変わるのは、文字の一部だけです。
私はそれ以上で見つけることができましたが、何も変わっていない解決策を試しました。おそらくあなたは私を啓発することができますか?
現在地アクションでスクリプトを確認することができます:pilau.phpnet.us/html_invert.php、これは全体のソースコードです:私は推測する文字コードに問題があるよう
<!DOCTYPE html>
<html lang="he-IL">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form action="html_invert.php" method="post" enctype="application/x-www-form-urlencoded">
<textarea id="html_code" name="html_code" rows="30" cols="80"><?php
if (isset($_POST['html_code']))
{
function invert_string ($str) {
$new_str = '';
$i = strlen($str);
while ($i > 0) {
$new_str .= substr($str, --$i, 1);
}
return '>'.$new_str.'<';
}
echo htmlspecialchars(preg_replace('/>(\s*.*\s*)</imUue', 'invert_string("$1")', stripslashes($_POST['html_code'])));
}
else { echo 'paste your text here'; }
?></textarea>
<br />
<input type="submit" value="Process HTML" />
</form>
</body>
</html>
あなたはマルチバイトの安全のために '' mb_substr'とmb_strlen'をしたいです。 – geoffspear
また、私は 'stripslashes'がUTFに対して安全だとは思わない。 – Matthew
リンクから出力を取得できませんでした。 – RyanS