jQuery Ajax $.post проблема: символ "+" исчезает

Я работаю над wysiwyg и разделом для вставки исходного кода, такого как PHP/HTML/Perl/ и т.д...

Я использую де 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();

?>

1 ответ

Y введите эту строку (код Perl):

$line =~ /\s+(\S+)$/;

Это возвращает эту строку:

$line =~ /\s (\S )$/;

Падение "+".

Другие вопросы по тегам