[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Скрипт не выполняется из-за символов в тексте
AlexMak
Есть следующий код:
PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
html>
<
head>
      <
title>Каталог</title>
<
link type="text/css" rel="stylesheet" href="catalog.css">
</
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Каталог</title>
<
body>
<?
    
$text="
Наименование компании:
Логотип:
Логотип будет автоматически преобразован в формат .jpg размером 170*170 пикселей.
Рекомендуем самостоятельно провести преобразование для достижения наилучшего качества.
Адрес сайта:
Телефон:
Электронная почта:
Выберите рубрики:
Элементы интерьера
Отделочные материалы
Торговое оборудование
Отделочные работы
Мебель
Сантехника
Декор
Электрика
Строительные материалы
Предложить свою рубрику:
В случае если ни одна из предложенных выше рубрик не подходит.
Ключевые слова:
Введите через запятую слова и словосочетания, по которым будет осуществляться поиск вашей компании.
Например: плитка, керамический гранит, радиаторы, система умный дом
Краткое описание фирмы:
Не более 150-ти символов.
Символов осталось: 
Полное описание фирмы:
Не более 1500-ти символов.
Символов осталось:
Изображения для фотогаллереи:
Описание изображения. Не более 150 символов.
Изображения будет автоматически преобразован в формат .jpg размером 375*375 пикселей.
Рекомендуем самостоятельно провести преобразование для достижения наилучшего качества.
Контактное лицо:
Телефон контактного лица:
Информация о контактном лице на сайте не размещается.
Спасибо за регистрацию.
Ваша информация будет добавлена в каталог в течении трёх рабочих дней.
В случае возникновения вопросов с вами свяжется наш менеджер.
Всего доброго :)"

$text_new=$text;
//$text_new=htmlspecialchars(nl2br($text));
//echo $text_new;
?>


            <script type="text/javascript">
            function add_partner(){
                alert('Компания добавлена в каталог.');
                document.actions.text_max.value='<? echo $text_new?>';
            }
            </script>
            <div class='btn1' onClick='add_partner();'>Добавить в партнеры</div>
            <div class='btn1' onClick='add_partner();'>Удалить.</div>
             

Все затыкается на самой переменной $text, она содержит непонятные символы, хотя может я и не прав. При нажатии на кнопку, выходит следующая ошибка -
HTML
Ошибка: add_partner is not defined
Источник: test.php
Строка: 1

Если прописать просто несколько слов, ну или цифр, то все нормально выполняется, никак не могу понять, в чем может быть проблема, какие именно символы? о_0




Спустя 10 минут, 11 секунд (14.07.2009 - 16:27) Nikitian написал(а):
строка в javascript не должна иметь переводов строк. Все переводы надо заменить на \n
PHP
$text=str_replace("\n",'\n',str_replace("\r",'',$text));

Спустя 15 минут, 25 секунд (14.07.2009 - 16:42) Guest написал(а):
Что значит \r? Я нашел только, что это \r -
HTML
Соответствует знаку возврата каретки. Является эквивалентом для "\x0d" и "\cM".
но это как-то не особо много объясняет?
А потом понятно, заменяем перевод строк на символ \n, спасибо все сработало, буду знать еще одну тонкость, но все-таки хочется узнать, что значит \r?

Спустя 9 минут, 44 секунды (14.07.2009 - 16:52) glock18 написал(а):
Написали же вы
Цитата (Guest @ 14.07.2009 - 13:42)
Соответствует знаку возврата каретки


в windows перенос строки делается последовательностью из двух символов: \r и \n.
Где \r - возврат каретки (возврат курсора можно сказать), а \n - перенос строки, собственно.

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

Спустя 26 секунд (14.07.2009 - 16:52) Nikitian написал(а):
В винде перевод строки обозначается как \r\n в *nix \r в mac \n\r\
В данном случае \r вам ен нужен, посему его вообще убираем

Спустя 2 минуты, 21 секунда (14.07.2009 - 16:55) Guest написал(а):
Спасибо, все встало на свои места smile.gif

Спустя 4 часа, 26 минут, 39 секунд (14.07.2009 - 21:21) kirik написал(а):
Цитата (Nikitian @ 14.07.2009 - 08:52)
В винде перевод строки обозначается как \r\n в *nix \r в mac \n\r\

Поправлю, в юникс системах перенос строк - \n
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.