html код

Тема в разделе "PHP", создана пользователем sultan347, 1 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sultan347

    sultan347

    Регистр.:
    25 апр 2009
    Сообщения:
    230
    Симпатии:
    7
    PHP:
    echo '<script type="text/javascript">var str ='.$str.';</script>'
    $str это html код из взятый из базы данных. Как этот html код обезопасить для JS переменной и в одну строку. Даже перенос строки убивает работоспособность JS. Напр.
    HTML:
    <script type="text/javascript">
    var str ='
    ';
    </script>
     
  2. Digwnews

    Digwnews Читатель

    Заблокирован
    Регистр.:
    1 мар 2010
    Сообщения:
    127
    Симпатии:
    24
    Особо не понял в чём проблема. Нужно просто удалить все переносы строк?
     
  3. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    486
    Симпатии:
    187
    Перед поступлением переменной в JS, обработай её и убери все переносы:
    PHP:
    $str str_replace( array( "\r\n""\r""\n""  " ), " "$str );
    $str trim($str);//Чтоб наверняка =))
     
    sultan347 нравится это.
  4. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    трим обрежет только спереди и сзади строки. было бы неплохо разбить строку на массив по переносам, а потом собрать затримленные строки в одну результирующую
     
    sultan347 нравится это.
  5. komyak

    komyak

    Регистр.:
    4 фев 2009
    Сообщения:
    486
    Симпатии:
    187
    Как то так:
    PHP:
    function str_trim$text )
    {
            
    $text str_replace( array( "\r\n""\r""\n""\t""  " ), " "$text );
            
    $text explode" "$text );
            for( 
    $i 0;$i <= count$text );$i++ ) {
                    
    $str[] = trim$text[$i] );
            } 
            
    $str implode" "$str );

            return 
    $str;

     
    sultan347 нравится это.
Статус темы:
Закрыта.