我有一個verrrrrrrry長base64編碼的字符串,它顯示在一個textarea。問題是這個字符串沒有任何空格或回車符,所以它用一個難看的水平滾動條顯示在一行上。PHP的 - 添加/刪除回車到基地64編碼字符串
我可以在base64_encode()之後和輸出到textarea之前手動添加回車函數,然後在從textarea中檢索此字符串(解碼之前)後刪除這些CR?
我有一個verrrrrrrry長base64編碼的字符串,它顯示在一個textarea。問題是這個字符串沒有任何空格或回車符,所以它用一個難看的水平滾動條顯示在一行上。PHP的 - 添加/刪除回車到基地64編碼字符串
我可以在base64_encode()之後和輸出到textarea之前手動添加回車函數,然後在從textarea中檢索此字符串(解碼之前)後刪除這些CR?
你可以使用chunk_split
你的字符串分割成具有特定長度的塊,然後重新加入你想要的字符或字符串那些大塊:
$str = base64_encode($whatever);
echo '<textarea name="textarea">'
. chunk_split($str, 30, "\n") // put a newline every 30 characters
. '</textarea>';
由於base64_decode
忽略空格,你不需要一旦你檢索textarea的值,做任何特別的事情。
這可以通過PHP函數wordwrap完成。
當然可以。空白將被忽略:
<?php
echo base64_encode('Lorem Ipsump'); // TG9yZW0gSXBzdW1w
echo base64_decode('TG9 yZW0gS XBz dW1w'); // Lorem Ipsump
?>
base64_decode(wordwrap(base64_encode('very ... long'), 80, "\n", true)) == 'very ... long'
感謝,我結束了使用chunk_split:D – Alex 2010-09-22 21:43:51