Вопрос № 57781: Как избавиться от кавычек в формах ввода?
Существует ли "радикальный" способ замены одинарных и двойных кавычек во всех полях формы?
У меня такая проблема: есть форма, на ней 20 полей; в каждом потенциально могут быть кавычки; после...Вопрос № 57822: Я уже задавал подобный вопрос, но необходимого ответа я так и не получил. Попробую изъясниться понятнее. Необходимо ресайзнуть изображение (в данном случае 1024x576) в 176х220(размер экрана мобильника например). Но так, чтобы изображение не плющилось...
Вопрос № 57.781
Как избавиться от кавычек в формах ввода?
Существует ли "радикальный" способ замены одинарных и двойных кавычек во всех полях формы?
У меня такая проблема: есть форма, на ней 20 полей; в каждом потенциально могут быть кавычки; после ввода должна быть форма предварительного просмотра, а затем данные через SQL-запрос идут в БД.
Сейчас я перед выводом в форме просмотра делаю замену кавычек на их коды для каждого из 20 полей. А можно ли поставить некую директиву для "замены оптом"?
И вообще, как народ с этим борется?
(Кодировка страниц, если это важно - Unicode.)
Отправлен: 05.10.2006, 10:23
Вопрос задал: Php23 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Козлов А. С.
Здравствуйте, Php23!
Есть функция htmlspecialchars(), которая заменяет символы <, >, ` и " на их HTML-эквиваленты.
Например, пользователь набрал в одном из полей следующее слово - "Hello". После вызова этой функции кавычки будут заменены на "
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 9-ый класс)
Ответ отправлен: 05.10.2006, 10:48
Отвечает: Константин
Здравствуйте, Php23!
насколько я понял, ты хочешь чтобы какая-то функция обрабатывала все поля. Тогда можно так:
foreach ($_POST as $var => $value)
{
$_POST[$var] = str_replace(array(""", "'"), array(коды кавычек), $value);
}
Так у тебя во всех переданых Post'ом переменных будут кавычки заменены. если хочешь еще и Get или еще где - просматривай суперглобальный массив $_REQUEST вместо POST. Если нужно что бы какие-то поля не обрабатывались, добавь условие
if (!in_array($var, array("submit", "reset", ....)))
{
//обрабатываем как надо
}
Елинственное - посмотри насчет порядка аргументов в функции in_array, я насчет этого не уверен - то ли массив идет первым, то ли искомое значение.
Все, удачи.
--------- Лучше сделать и жалеть, чем жалеть о том что не сделал
Ответ отправил: Константин (статус: 7-ой класс)
Ответ отправлен: 05.10.2006, 13:59
Вопрос № 57.822
Я уже задавал подобный вопрос, но необходимого ответа я так и не получил. Попробую изъясниться понятнее. Необходимо ресайзнуть изображение (в данном случае 1024x576) в 176х220(размер экрана мобильника например). Но так, чтобы изображение не плющилось, а обрезалось по бокам или по верху и низу (в зависимости от отношения сторон, но пока это необязательно). Вроде всё сделал правильно, но выходит совсем не то, что нужно.
Отвечает: Zysoftik
Здравствуйте, Бобровский Сергей Сергеевич!
Навскидку, алгоритм правильный (по сути, не вчитывался). Основное примечание:
вместо imagecreate попробуйте использовать imagecreatetruecolor.
Тогда Вы не потеряете данные о цветах исходного изображения.
Ответ отправил: Zysoftik (статус: 6-ой класс)
Ответ отправлен: 05.10.2006, 18:16 Оценка за ответ: 3 Комментарий оценки: Дело не в цветах! В созданную картинку-рамку копируется только часть исходного выбранного куска(кажется верхняя левая часть, может и не так), а должен уменьшиться и вставиться туда полностью . . может такое быть, что функция некорректно работает?
Отвечает: Загиров Рустам
Здравствуйте, Бобровский Сергей Сергеевич!
Надо просто проверять соотношение сторон в вашем случае, 176/1024(0,17) и 220/576(0,38). Здесь первое отношение меньше, значит, ширина_маленькой_картинки=576*0,17. Если было бы наоборот, то надо было вычислять длина_маленькой_картинки=1024*0,38. Эти новые параметры используем в imagecopyresampled, и определяем координаты, куда нужно вставить маленькую картинку: делим разность исходной длины маленькой картинки и новой на пополам, т.к. у картинки будет два отступа сверху и снизу: (220-576*0,17)/2.
Примерный код в приложении. Если надо закрасить фон другим цветом, например, красным, то используем функцию imageFill($image,0,0,imageColorAllocate($image,255,0,0)); после создания картинки $image
Ответ отправил: Загиров Рустам (статус: Практикант)
Ответ отправлен: 05.10.2006, 18:48 Оценка за ответ: 3 Комментарий оценки: Хм.. в Вашем варианте в новую картинку вписывается полностью исходная, а мне необходимо, чтобы часть исходной картинки ПОЛНОСТЬЮ заполняла новую картинку!