Как мне убрать строку? - PullRequest
4 голосов
/ 05 мая 2011

с использованием метода get ajax для передачи переменной. где я использую для экранирования строки с функцией escape ().

В php я получаю значение и вставляю в базу данных.

Как мне удалить строку?

Например, для:

balaji's

Я получаю

balaji%27s.

Ответы [ 4 ]

9 голосов
/ 19 сентября 2012

Используйте то, что я сделал с этим

htmlspecialchars (urldecode ($ str))

9 голосов
/ 11 сентября 2012

Вы можете использовать эту функцию вместо urldecode ()

function utf8_urldecode($str) {
        return html_entity_decode(preg_replace("/%u([0-9a-f]{3,4})/i", "&#x\\1;", urldecode($str)), null, 'UTF-8');
}
4 голосов
/ 05 мая 2011

Вместо использования escape на стороне клиента используйте encodeURIComponent.escape делает не делает URI-кодировку.(Он делает что-то похожее, но достаточно отличающееся, чтобы у вас возникли проблемы.) encodeURIComponent выполняет стандартное URI-кодирование.PHP должен декодировать его для вас автоматически, если вы отправляете данные обычным способом, например:

var word = "balaji's";
$.ajax({
    url: "yoururl",
    data: encodeURIComponent("word") + "=" + encodeURIComponent(word)
});

Если вы не отправляете данные в стандартной форме «multipart form» (например, выпереопределяете dataType), вам придется самостоятельно декодировать его с помощью urldecode.

1 голос
/ 05 мая 2011

Рассмотрим функции PHP, urldecode () или rawurldecode () .

Похоже, одно отличие заключается в обработке + (знаки плюс).

Вы должны проверить строки, содержащие знаки плюс, чтобы убедиться, что вы выбрали правильную функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...