我在发送信息时遇到了jQuery ajax的问题。
PHP代码应该检测希伯来字母,并根据转录规则将它们转换为阿拉伯字母。
这是我的代码(jQuery代码):
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#input").keyup(function() {
var input = $("#input").val();
$("#text").load("changetext.php", {input:input});
});
});
</script>
</head>
<body dir="rtl">
<center>
<input type="text" id="input" />
<div id="text"></div>
<button id="go">חפש!</button>
</center>
</body>
</html>
这是PHP页面(字母转换发生的地方):
<?php
$input = $_POST['input'];
str_replace("א", "ا", $input);
str_replace("ב", "ب", $input);
str_replace("ג'", "ج", $input);
str_replace("ד", "د", $input);
str_replace("ד'", "ذ", $input);
str_replace("ה", "ه", $input);
str_replace("ו", "و", $input);
str_replace("ז", "ز", $input);
str_replace("ח", "ح", $input);
str_replace("ח'", "خ", $input);
str_replace("ט", "ط", $input);
str_replace("ט'", "ظ", $input);
str_replace("י", "ي", $input);
str_replace("כ", "ك", $input);
str_replace("ל", "ل", $input);
str_replace("מ", "م", $input);
str_replace("נ", "ن", $input);
str_replace("ס", "س", $input);
str_replace("ע", "ع", $input);
str_replace("פ", "ف", $input);
str_replace("צ", "ص", $input);
str_replace("ק", "ق", $input);
str_replace("ר", "ر", $input);
str_replace("ש", "ش", $input);
str_replace("ת", "ت", $input);
str_replace("ת'", "ث", $input);
str_replace("ס'", "ض", $input);
str_replace("ט'", "ظ", $input);
str_replace("ר'", "غ", $input);
str_replace("א'", "ﺀ", $input);
echo $input;
?>
此代码不起作用,我不知道为什么。
答案 0 :(得分:0)
我认为你有一些编码问题
转到Here。
从链接中获取
这是需要的答案,但每个人只回答了许多的第一部分
第1步
高级编辑器不会让你变得简单......去低级......使用 记事本将文档保存为meName.html&amp;改变这种窘迫 输入UTF-8
第2步
在你的html页面中提到你要使用这些字符
meta http-equiv="Content-Type" content="text/html;charset=UTF-8" >
第3步
当您输入一些字符时,请确保您的容器标记具有以下2个属性集
DIR = 'RTL' 郎= 'AR'
第4步
例如
ربزدنيعلما
注意:字体类型,字体系列,字体设置对特殊字符没有影响
答案 1 :(得分:0)
我认为你所做的事情可能不会非常有效。 load()方法需要往返服务器,并且异步启动,因此对文本div的更新不一定对应于用户击键。在我看来,你应该:
以下是后者的一个例子:
$( document ).ready(function() {
var replacements = {ا: '\u05D0', ب: '\u05D1', ج: '\u05D2\u05F3', د: '\u05D3', ذ: '\u05D3\u05F3', ه: '\u05D4', و: '\u05D5', ز: '\u05D6', ح: '\u05D7', خ: '\u05D7\u05F3', ط: '\u05D8', ظ: '\u05D8\u05F3', ي: '\u05D9', ك: '\u05DB', ل: '\u05DC', م: '\u05DE', ن: '\u05E0', س: '\u05E1', ع: '\u05E2', ف: '\u05E4', ص: '\u05E6', ق: '\u05E7', ر: '\u05E8', ش: '\u05E9', ت: '\u05EA', ث: '\u05EA\u05F3', ض: '\u05E1\u05F3', ظ: '\u05D8\u05F3', غ: '\u05E8\u05F3', ﺀ: '\u05D0\u05F3'};
$('#input').keyup(function() {
var input = $('#input').val();
var txt = input.replace(/./g, function(char) {return char in replacements ? replacements[char] : char})
$('#text').text(txt);
});
});
修改强>
我终于想出了一个使用你的角色地图的rtl例子。基本上,我使用希伯来字符的unicode值创建了一个关联数组。该数组用于替换输入val中的字符。然后使用jQuery中的text()方法更新#text div。似乎运作良好,虽然不可否认,我对阿拉伯语或希伯来语一无所知,所以我无法确定它是否准确。