我正在研究一个所见即所得的部分和一个插入源代码的部分,如 PHP/HTML/Perl/etc...
我使用 de PHP Geshi 通过 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();
?>