Forever
Новичок
Наконец написал свой первый сайт в жизни, перенес его с локального хоста в интернет, на хостинг Fozzy. Всплыла куча сюрпризов, сейчас разбираю самый неприятный. В моем скрипте есть переменная, которая содержит текст из БД.
Грубо говоря, она может выглядеть так:
далее эта переменная помещается в самый конец переменной $view (простите за страшные приемы программирования и разметки ):
Так вот. если переменная $chapters содержит определенный текст, например такой, как указан выше, то на странице пропадает разметка html , начиная с DIV class = "text" и с этого момента в исходном коде вообще ничего нет.
Еще иногда выводится не весь текст, а какая то его часть и дальнейший обрыв разметки.
А если переменная содержит какой-то текст попроще, например "aaaaa, bbbbb - ccccc !" . то все нормально, ничего не обрывается. Я уже все прогонял через htmlentities,думал какие то злые символы замешаны, но нет.
Еще несколько странных моментов:
1) Если написать так
, то выведется весь текст первой переменной, и небольшая часть текста второй.
Через echo переменная выводится в любой точке кода после своего объявления
Если ее приклеить даже в самое начало переменной $view , то html обрывается все равно после DIV class = "text".
В общем, я совсем ничего не понимаю, так ведь не бывает. Подскажите, как решить эту проблему, сил имоих больше нет, пол-дня сижу.
Грубо говоря, она может выглядеть так:
Код:
$chapter = ' Carry - герои, которые «принесут» команде победу. Их потенциал зависит от собранных предметов. Как правило, в начале игры они очень слабы и поэтому должны быть защищены героями, способными гораздо успешнее драться в начале игры, но позднее становятся весьма могущественны. Для раскрытия всех своих возможностей они должны умело пользоваться способностями. Наличие большого количества таких персонажей в команде может усложнить игру, т.к. каждый игрок будет стараться получить опыт или лишнее золото, что, конечно, замедлит получение опыта и золота другим игрокам Carry - герои, которые «принесут» команде победу. Их потенциал зависит от собранных предметов... ';
Код:
$view = '
<input type = "hidden" id = "guide_id" value = "'.$guide_id.'">
<div class = "main" >
<div id = "heroes" class = "hide">
</div>
<div id = "redactor_core" >
<div class = "sub_nav" >
<div class = "sn_sel" >
<a href = "/guide/edit/'.$guide_id.'" >РЕДАКТИРОВАНИЕ</a>
</div>
<div class = "sn_not_sel" >
<a target = "_blank" href = "/guide/preview/'.$guide_id.'" >ПРЕДПРОСМОТР</a>
</div>
</div>
<div class = "guide_actions">
<div class = "save_action">
<input type = "button" value = "Сохранить изменения", class = "save button">
</div>
<div class = "publish_action" >
<input type = "button" class = "'.$p_button_class.' button" value = "'.$p_button_val.'"
data-guide_id = "'.$guide_id.'">
</div>
<div class = "delete_action" >
<input type = "button" class = "'.$d_button_class.' button" value = "'.$d_button_val.'"
data-guide_id = "'.$guide_id.'">
</div>
</div>
<div class = "del_time" >
<span>'.$del_time.'</span>
</div>
<div class="b_redactor ">
<div id = "guide_name">
Название гайда: <input type = "text" id = "guide_name_input" value = "'.$guide_name.'">
</div>
<div id = "hero">
<div class = "hero_info">
<div>Герой: <a target = "_blank" href = "/heroes/view/'.str_replace(' ', '_', $hero[0]['name']).'">'.$hero[0]['name'].'</a> </div>
<span id = "hero_id" data-id = "'.$hero[0]['id'].'" ></span>
<div>
<img class = "hero_tooltip" data-id = "'.$hero[0]['id'].'" src = "/images/heroes/66x66/'.str_replace(' ', '_', $hero[0]['name']).'.png">
</div>
</div>
</div>
<div class="bs">
<div class="bs_content">
<div class="bs_nav">
'.$b_links.'</div>
<div class="bs_add"><img src = "/images/interface/add.png"> Добавить</div>
</div>
</div>
<div class="b_list ">
'.$builds.'
</div>
<div class = "text"> //РАЗМЕТКА ПРОПАДАЕТ, НАЧИНАЯ ОТСЮДА
<div class = "static_insert_chapter s_head">
<div><img src = "/images/interface/insert_chapter.png"> <span >Создать главу</span></div>
</div>
<div class = "chapters">
'.$chapters.' //ВОТ СЮДА !
</div>
</div>
</div>
'.$tmp.'
</div>
</div>
<input type = "hidden" id = "token" maxlength="32" value = "'.$_SESSION['CSRF_token'].'" />
<script type="text/javascript" src="/modules/guide/edit/js/edit.js"></script>';
Еще иногда выводится не весь текст, а какая то его часть и дальнейший обрыв разметки.
А если переменная содержит какой-то текст попроще, например "aaaaa, bbbbb - ccccc !" . то все нормально, ничего не обрывается. Я уже все прогонял через htmlentities,думал какие то злые символы замешаны, но нет.
Еще несколько странных моментов:
1) Если написать так
Код:
<div class = "chapters">
'.$chapters.'
'.$chapters.'
</div>
Через echo переменная выводится в любой точке кода после своего объявления
Если ее приклеить даже в самое начало переменной $view , то html обрывается все равно после DIV class = "text".
В общем, я совсем ничего не понимаю, так ведь не бывает. Подскажите, как решить эту проблему, сил имоих больше нет, пол-дня сижу.
Последнее редактирование: