переменная, прочитанная из текстового файла и переданная в smarty, отображается как "Home <i>\ r </i><i> \ n </i>"? - PullRequest
0 голосов
/ 14 июля 2010

У меня есть код, который выглядит следующим образом.

        $language = "eng";
        $append = "_sidebar.txt";
        $read_text_file = "languages\\$language$append";
        $sidebar = file($read_text_file);   

        $smarty->assign("sidebar_link",$sidebar);

Почему все переменные в smarty выглядят так:

Smarty_Variable Object (3)
->value = Array (13)
  0 => "XX<i>\r</i><i>\n</i>"
  1 => "XX<i>\r</i><i>\n</i>"
  2 => "XX<i>\r</i><i>\n</i>"
  3 => "XX<i>\r</i><i>\n</i>"
  4 => "XX<i>\r</i><i>\n</i>"

, где XX представляет отдельные слова.Откуда \ r \ n откуда ??

Ответы [ 2 ]

1 голос
/ 14 июля 2010

\r\n - это просто перевод строки Windows (т. Е. Нажатие клавиши ввода) в конце строк, считываемых из вашего файла.

Вы можете удалить все разрывы строк в файле или следовать инструкциям на этом сообщении на форуме , чтобы применить полосовой (или вариационный) фильтр, чтобы Smarty отфильтровывал элемент управлениясимволы для вас.

0 голосов
/ 14 июля 2010

«\ n» - это символ, который обозначает новую строку или разрыв строки, и обычно в системах Windows ему предшествует «\ r» (потому что им нравится добавлять дополнительные символы для каждого переноса строки, я думаю). Без разрывов строк весь текст будет слиться воедино, как «XXXXXXXXXX», потому что невозможно будет определить, где разрывается каждая строка.

...