0
我工作的一个所见即所得和部分插入像PHP/HTML /的Perl /等源代码
我使用PHP德为隔世通过jQuery突出显示代码。
一切正常,我得到我的代码,但是我在返回的代码中丢失了字符“+”。
我认为问题来自于“$ .post”解释“+”,例如在发送中添加一个新参数,我只是错了。
我甚至没有POST或GET是获取源代码,有很多奇怪的字符正确的解决方案。我很感兴趣,新的想法...
jQuery代码:
$('#valider_code').click(function() {
// On selectionne le contenue du textarea
var code = $("#code").val();
code = addslashes(code);
// On cache le div
$('#input_code').hide();
$.post('/get_geshi.php', { "code" : code, "langage" : langage }, function(data) {
data = data.replace(/\n|\r|\r\n/g, '<br>');
// On insert le code
var embed = '<div id="code_source">'+ data +'</div>';
if($.browser.msie) {
var selection = editor.contentWindow.document.selection;
var range = selection.createRange();
range.pasteHTML(embed);
}
else {
execCommand("inserthtml", embed);
}
langage = "";
code = $("#code").val('');
}); // Fin get
return false; // prevent default
});
get_geshi.php
<?php
require_once('geshi.php');
$source = stripslashes(urldecode($_POST["code"]));
$language = $_POST["langage"];
$geshi =& new GeSHi($source, $language);
echo $geshi->parse_code();
?>
尝试使用以下代码对PHP返回的文本进行编码:http://php.net/manual/fr/function.htmlentities.php – sdespont 2013-02-16 09:27:00
人们不明白'$ .ajax'本身就是编码。你可以放弃你在'code'上做的任何操作吗?此外,请发布实际的和预期的请求和响应示例 – Alexander 2013-02-16 10:25:27