Вопрос № 108993: на сайте есть страничка адмнистратора которая открывает странички читает из них html код и потом сохраняет измненый код за счет перезаписи этого файла .. на локальном сервере (Denwer c версией php 4.03) все работает нормально на 5 версии PHP (тоже де...Вопрос № 109004: Привет!
Вопрос: "как вывести на картинке текст в несколько строк?"
Подробнее: из базы получаем массив строк(курсы валют например) и преобразуем в переменной в строку типа "1р=0,5$<br>1p=0,25Y<br>" итд
Тоес...
Вопрос № 108.993
на сайте есть страничка адмнистратора которая открывает странички читает из них html код и потом сохраняет измненый код за счет перезаписи этого файла .. на локальном сервере (Denwer c версией php 4.03) все работает нормально на 5 версии PHP (тоже денвер) такая система не работает... при перезаписи файла в html коде рядом с кавычками ставиться слэш из за чего появляеться ошибка Warning: Unexpected character in input: '' (ASCII=92) state=1
мне кажеться что причина в том что на денвере с установленным PHP5 register_globals выключен а на денвере с PHP4 эта опция включена
подскажите как избежать этой ошибки ?? чтобы при перезаписи файла не ставились обратные слэши рядом с кавычками
заранее спасибо!
Отвечает: Miklucho
Здравствуйте, Ольга Александровна!
Нет дело не в register_globals. Дело в директивах т.н. называемых "магических кавычек" - set_magic_quotes_runtime и get_magic_quotes_gpc
На тему появления экранирующих кавычек написано немало статей и дабы не повторяться приведу вам ссылку на одну, по моему мнению наиболее полную:
http://www.phpfaq.ru/slashes
Ответ отправил: Miklucho (статус: Практикант)
Ответ отправлен: 12.11.2007, 05:54
Вопрос № 109.004
Привет!
Вопрос: "как вывести на картинке текст в несколько строк?"
Подробнее: из базы получаем массив строк(курсы валют например) и преобразуем в переменной в строку типа "1р=0,5$<br>1p=0,25Y<br>" итд
Тоесть текстом мы прекрасно можем вывести на страницу. Даже отформатировать. Это не проблема. Забуксовал при выводе этого на картинку. Выводит и "/n" и "<br>" как обычный текст. А надо разбить на строки.
Дополнительно - текст в базе в UTF-8 - с этим тоже надо бороться, иначе выводит кракозябры. ПХП 5.2.2 мускул 4.
Благодарю за внимание.
Отправлен: 12.11.2007, 08:38
Вопрос задал: Fyrfox (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Маров Николай Станиславович
Здравствуйте, Fyrfox!
1 функция пепеводит текст из cp1251 в UTF (поэтому храни текст в бази в cp1251:))
2 функция делает из текста массив, 1 параметром передаёшь сам текст, 2 - примерное кол-во символов(она бъёт по целым словам), т.е. в твоём случае можно смело указывать 7.
Ну и далее примерно так...
$text = "1р=0,5$ 1p=0,25Y";
$txt_array = text2array($text,30); //Бъём в массив
for($i=0;$i<count($txt_array);$i++) {
$text2 = win2uni($txt_array[$i]); //Переводим в utf
imagettftext($img, 8, 7, 16+$i*2.5, 55+15*$i, $white, "fonts/arial.ttf", $text2);
//(нужно только шрифт в папку fonts закинуть, можно из винды взять, можно использовать любой TrueType)
}
Функцию text2array($text, $width) можно соответственно модернизировать чтобы она была текст не по кол-во символов, а по разделителю... или даже воспользоваться обычным explode("<br>", $text);
Приложение:
Ответ отправил: Маров Николай Станиславович (статус: 1-ый класс)
Ответ отправлен: 12.11.2007, 10:49 Оценка за ответ: 5 Комментарий оценки: Круто. Поправил параметры imagettftext иначе под углом надпись получается.
Огромное спасибо. Оценка 10 из 5 возможных. жаль нету :(