2017-10-06 151 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