[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1250069159905.jpg -(75кб, 800x600) Показана уменьшенная копия, оригинал по клику.
75 №3280  

Приветствую, Двач, нужна, как ты понимаешь, помощь. Вопрос небольшой и спецефический, я даже не знаю с чем он связан, вероятно с кодировками. Собсно, в чём дело: я пишу кмс-ку, в которой используется собственный язык разметки, который с моей точки зрения облегчает вёрстку и позволяет соблюдать множество хороших вещей типо валидности разметки и правильности употребления типографических символов почти автоматически. С этим всем я справился, так как имею склонность к программированию задач мало связанных с реальными :). Сейчас я добрался до практической задачи: мне нужно сделать форму, через которую я буду править страницы проекта, которые лежат в базе MySQL. Возникла проблема, что когда я получаю текст из текстовой области формы некоторые символы не распознаются, в частности символ апострофа, который в разметке заменяется как ''text'' и '''text''' на теги em и strong соответственно (идея не точно бы сворована у педивикии, но просто это самый простой и логичный символ после звёздочки-астериска для такого выделения). Если всё то же получается из текстового файла всё пучок. Я проверил ord("'") выдаёт одно значение, а ord символа ' полученный из текстовой области другое значение. Короче как всё это исправить, ибо я уже совсем охуел и облазил сорцы, читал про типы в базах и ограничения на них и многое другое. Помогите. Если потребуется дам более точное описание проблемы.

>> №3282  

%20 ?
\" ?

>> №3284  

Кодировка однобайтная вроде.
39
92
Вслучае, когда я ввожу в строку $code = "asd ''qwe'' asd " символ амперсанда его код 39. В движке он обрабатывается.
Если этот же текст ввести в текстовую область и получить его через '$_POST[]' я получаю код символа 92. И в тексте так и остаются амперсанды.

>> №3300  
$ python
>>> \
'\\'
>>> '
"'"

ололо, ты же бэкслеш получаешь. обработай-ка регекспом строку. удали каждый бэкслеш, и оставь по одному, если их два подряд.

>> №3303  
>>> \
>>> '

опа, хотел написать сhr(92) и сhr(39) соответственно
selffix

>> №3308  

>>3282 - не ОП.
А ОП был не понят. Я имею ввиду, что когда я получаю строку из текстового файла или просто из инициализатора, то в ней символ апострофа имеет код 39 (функция Ord(char)). А если получать строку из широкого текстового поля формы (через POST), то этот символ имеет другой код (92). Иными словами он в коде уже не обрабатывается как надо.

>> №3386  

САМОБАМП

>> №3449  

>>3308

> то этот символ имеет другой код

В твоем языке, похоже, код символа и симовол - это одно и то же. Подумай об этом. 92 это бакслеш.

>> №3504  

>>3449
Конечно, инфа устарела (пока идут ответы на тред, я тоже не сижу на месте), но всё равно спасибо.

Почему-то когда я получаю строку из post-запроса в ней все апострофы и дюймы экранируются, именно поэтому я ошибочно посчитал, что символы имеют разный код (я послал через форму один символ ', и прочитал его код $s = $_POST["text"]; print ord($s{0}); но так как он был экранирован на нулевое место выскочил бэкслэш). Теперь я не могу понять как возникает это экранирование.

>> №3510  

Да ты упорок!
Первая ссылка в гугле
http://i-novice.net/magicheskie-kavychki-magic-quotes-v-php-i-ekranirovanie/

>> №3517  

>>3510
Спасибо, анон. Я не знал по какому ключу гуглить.



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]