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