在撰写本文时,smarty.net网站似乎已关闭。
无论如何,如何用一个聪明的变量中的空格替换换行符?是这样的{$var|regex_replace:'[\\r\\n]':'\s'}
吗?我尝试过,但是没有用。
如果可以尝试,请尝试:
{$var|regex_replace:"/[\r\n]/" : " "}
[\ r \ n]的问题是它将用双重替换替换单个windows crlf。 (如果只输出空格,这不是大问题,但是...)
示例:
{$letter="--\n--\r\n--\r\n\r\n--"}
{$var|regex_replace:"/[\r\n]/":"BR"}
result:
--BR--BRBR--BRBRBRBR--
考虑是否要用HTML换行符替换换行符;以上将造成混乱。这是按预期方式工作的:
{$var|regex_replace:"/\r*\n/":"<br>"}
(顺便说一句;如果您为上述内容考虑nl2br;它不会替换换行符,它只会在每行中添加一个br-在某些情况下可能是个问题)]
现在,经典的Mac换行符只是回车符,因此需要做更多的调整,但实际上可能已经不存在了。