Php 从文本文件读取并传递给smarty的变量显示为;主页<;i>\r</i>&书信电报;i>\n</i>&引用;?

Php 从文本文件读取并传递给smarty的变量显示为;主页<;i>\r</i>&书信电报;i>\n</i>&引用;?,php,arrays,variables,smarty,template-engine,Php,Arrays,Variables,Smarty,Template Engine,我有一个这样的代码 $language = "eng"; $append = "_sidebar.txt"; $read_text_file = "languages\\$language$append"; $sidebar = file($read_text_file); $smarty->assign("sidebar_link",$sidebar); 为什么smarty中的所有变量都是这样的:

我有一个这样的代码

        $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>"
Smarty_变量对象(3)
->值=数组(13)
0=>“XX\r\n”
1=>“XX\r\n”
2=>“XX\r\n”
3=>“XX\r\n”
4=>“XX\r\n”

其中XX代表单个单词。\r\n从何而来?

从文件中读取的行末尾的
\r\n
只是一个windows换行符(即“回车”键)


您可以删除文件中的所有换行符,也可以按照上的说明应用条带(或变体)筛选器,使Smarty筛选出控制字符。

a“\n”是一个表示新行或换行符的字符,在Windows系统中通常以“\r”开头(因为我想他们喜欢为每一个换行符添加额外字符)。如果没有换行符,所有文本都会像“xxxxxxxxx”一样流动在一起,因为无法知道每一行的换行符在哪里。

尝试过,但不理解。我添加了require('libs/plugins/outputfilter.trimwhitespace.php');并尝试了$test=smarty\u outputfilter\u trimwhitespace\u replace(@@@smarty:TRIM:SCRIPT@@),$\u SCRIPT\u blocks,$sidebar);但不知道$\u SCRIPT\u blocks是什么意思?有没有更简单的方法来删除这些内容。我也尝试了strip\u标记($sidebar),但结果显示为空!