2017-10-06 89 views
2

我需要截断一个文本,然后在base64中进行编码。我尝试用换行:PHP截断文本base64

$body_wrap = wordwrap($arrayInfo['body'], 150, '\n', false); 

使用 '\ n', '\ r', '
',这是行不通的。

是否有另一种解决方案来包装我的文本?因为在HTML中,我有一个溢出屏幕大线

+2

如果你希望'\ n'确实是一个换行符,你必须使用双引号,而不是单引号,就像这样:'“\ n”'。如果是HTML,则'
'将是一个换行符,或者您必须用预格式化的'

...
'标签围绕文本。 –

+0

在客户端应该解决“溢出屏幕的大行”问题。屏幕不同,PHP对它的大小一无所知。你正在寻找的解决方案奠定了CSS的基础。 –

+0

谢谢纪子,它很完美。 @AlexBlex我无法轻松修改客户端,所以最好的方式来做我需要的是wordwrap – Nathan30

回答

2

尝试以下操作:

$body_wrap = wordwrap($arrayInfo['body'], 150, "\r\n", false); 

$body_wrap = wordwrap($arrayInfo['body'], 150, PHP_EOL, false); 

一日一,使用"双引号来包装\r\n

与双引号和heredoc语法不同,变量和转义 特殊字符序列在单引号字符串中出现 时不会展开。

第二个,使用PHP_EOL独立于操作系统的常量。

+0

非常感谢。只是一个问题:“\ n”和“\ r \ n”之间有什么区别? – Nathan30

+0

@ Nathan30检查这里:https://stackoverflow.com/questions/15433188/rnrn-what-is-the-difference-between-them – mega6382

+0

@ Nathan30这是关于操作系统,而'\ r'将添加一个新行OS X它不会在Windows等,这就是为什么他们一起使用。支持多种平台。 – mega6382