Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   PHP и javascript передача значения и вывод на страницу (http://forums.kuban.ru/f1030/php_i_javascript_peredacha_znacheniya_i_vyvod_na_stranicu-5941664.html)

eilyich 25.07.2014 07:44

PHP и javascript передача значения и вывод на страницу
 
CMS - битрикс
Почему-то не получается вывести значение содержащее текст с html тегами.
Если вывод на страницу делать из PHP то все прекрасно работает, если делаю вывод с помощью javascript, то работает только если текст не содержит тегов кроме <a href=> этот тег нормально выводит ссылку.
За ранее извиняюсь за может быть не корректную формулировку, я новичок в вэбе.
вот код того что я делаю:
например: Если $Descript = $arResult['DESCRIPTION']; равно "шла Маша по шоссе <br> и сосала сушку"
тогда если вывести на экран через PHP
<?
echo $Descript;
?>
то результат будет такой:

шла Маша по шоссе
и сосала сушку

а если сделать вывод с помощью javascript
<script type="text/javascript">
//так ничего не выводит пусто
document.getElementById('description_section').innerHTML = '<?echo $Descript?>';
//и так ничего не выводит
document.write('<?echo $Descript?>');
</script>
если бы в тексте небыло <br> то все работает
Но мне нужно вывести именно через яваскрипт в див с id = "description_section"
Помогите плиз советом как это делается

eilyich 25.07.2014 07:53

$arResult['DESCRIPTION'] это описание раздела каталога товаров, в режиме редактирования это поле редактируется с помощью встроенного "Визуального редактора"

SanekSp 25.07.2014 16:52

0-ilyich_ >А вот так!
<script type="text/javascript">
//так ничего не выводит пусто
document.getElementById('description_section').inn erHTML = '<?php echo $Descript; ?>';
//и так ничего не выводит
document.write('<?php echo $Descript; ?>');
</script>
Не пробовал? :)!
Для того чтобы скрипт понимал что ЭТО PHP надо указывать полный тег (<?php)!

dx0day 25.07.2014 19:43

[url]http://habrahabr.ru/post/139154/[/url]

eilyich 26.07.2014 12:21

AlexIT попробовал так, тоже самое, если текст содержащийся в переменной содержит в себе html теги например <br> то ничего не выводится, если встречается тег <a href=> то проблем нет, текст с ссылкой на экране, если тегов вообще нет просто текст, то вообще все отлично.

eilyich 26.07.2014 12:25

dx0day прочитал статью там первый вариант я какраз уже попробовал не работает, точнее работает но вопрос какраз в том что не всегда работает ), второй способ настроить сервер на сколько я понимаю мне не доступен так как у меня обычный виртуальный хостинг без возможности настравить сервер. может я ошибаюсь по второму варианту конечно потомучто в битриксе в каталоге есть файлик .htaccess но помоему это не то о чем говорится в статье ?

dx0day 26.07.2014 13:49

[quote=ilyich_;36001364] dx0day прочитал статью там первый вариант я какраз уже попробовал не работает, точнее работает но вопрос какраз в том что не всегда работает ), второй способ настроить сервер на сколько я понимаю мне не доступен так как у меня обычный виртуальный хостинг без возможности настравить сервер. может я ошибаюсь по второму варианту конечно потомучто в битриксе в каталоге есть файлик .htaccess но помоему это не то о чем говорится в статье ? [/quote]
напишите в службу поддержки

SanekSp 28.07.2014 10:13

4-ilyich_ > Скорей всего ошибки в синтаксисе строки javascript ('<?php echo $Descript; ?>')!
Посмотри Браузером html код страницы!
Попробуй так - <?php strtext="<a href=\"#\">Вверх</a>"; ?>
<script type="text/javascript">
var strvalue='<?php echo strtext; ?>';
document.getElementById('description_section').innerHTML = strvalue;
</script>
Если все будет ОК - тогда смотри содержимое $Descript;

eilyich 28.07.2014 14:00

AlexIT Спасибо! кажется я начинаю понимать в чем дело, похоже есть символы переноса в моей строке в переменной $Descript, помимо <br>
твой код пашет.
Ща новая проблема как удалить символы переноса, думаю всемогущий гугл поможет ))

eilyich 28.07.2014 14:06

вот нашел как убрать символы переноса из строки
$text=str_replace(array("\r","\n"),"",$text);
УРА! все заработало

SanekSp 28.07.2014 14:52

8-ilyich_ > Всегда Пожалуйста!
Только еще (на всякий случай) замени ' на " - а то какой нибудь <span style='font-size:14px;'> тоже даст ОШИБКУ!
Так как у тебя получится ='<span style=' и далее всякая хр.. в виде font-size:14px;'>

Ghole 26.08.2014 02:11

[img]http://onmin.ru/uploads/bezyimyannyiy1408643794.png[/img]

Ghole 26.08.2014 02:13

круто работает
Блокируй хотлинк
Хотлинк – это включение в страницу изображения (или иного контента) с другого сайта. По сути, это воровство, потому как изображение, на которое ты потратил не один час своего свободного времени, не только свободно используется другими, но и создает нагрузку на твой Web-сервер, не приводя на него посетителей. Для борьбы с хотлинками достаточно сделать так, чтобы изображения отдавались клиенту только в том случае, если он запросил их, уже находясь на сайте (другими словами, заголовок referrer-запроса должен содержать имя твоего сайта). Добавь в секцию server конфигурационного файла nginx.conf следующие строки (host.com – это адрес твоего сайта):

# vi /etc/nginx/nginx.conf

location /images/ **

valid_referers none blocked [url]www.host.com[/url] host.com;

if ($invalid_referer) **

return 403;

**

**

Ghole 26.08.2014 02:15

[url]http://xakep.ru/articles/54168/[/url]


Текущее время: 15:06. Часовой пояс GMT +3.