Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > как правильно экранировать пхп код для prismjs ?


Автор: mstdmstd 25.5.2016, 18:19
Всем привет,
Хочу установить prismjs как описано тут 
http://prismjs.com/index.html

И пишу в php/codeigniter/twig/javascript приложении
Сначала в контроле убираю все переводы строк :
Код

       $file_content= str_replace( array("\r","\n"), " ", $file_content );
       $data = array( 'file_path' => $file_path, 'code_to_highlight' => $file_content, 'format'=> $format );
       $this->showTwigTemplate('code_highlight_page', $data, false, false, false);


 $file_content - это содержимое небольшого php-файла

И в темплейте

Код

<script src="{{ base_url }}static/js/jquery/jquery-1.11.1.min.js"></script>
<script src="{{ base_url }}static/js/jquery/jquery-ui-1.11.1.min.js"></script>



<link rel="stylesheet" href="{{ base_url }}static/bootstrap/css/bootstrap.min.css"/>

<link rel="stylesheet" href="{{ base_url }}static/css/prism.css"/>
<script type="text/javascript" src="{{ base_url }}static/js/prism.js"></script>

<script type="text/javascript">
    jQuery(document).ready(function ($) {
        //var Prism = require('prismjs');

// The code snippet you want to highlight, as a string
        var code = "var data = 1;"; // если оставить только эту строку с кодом - то работает нормально
        var code = escape("{{ code_to_highlight | raw}}"); // Если есть эта строка то получаю ошибку "missing ) after argument list"   и ссылка на одну длинную php-строку...
        alert( "code::"+(code) )

// Returns a highlighted HTML string
        var html = Prism.highlight( code, Prism.languages.javascript );
        $("#div_code_to_highlight").html(html)

    });

</script>



А как правильно экранировать ?

  Спасибо !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)