PHP - 添加/删除回车符到基本64编码的字符串

时间:2010-09-22 21:25:25

标签: php string encoding textarea base64

我有一个verrrrrrrrry long base64编码的字符串,它显示在textarea中。问题是这个字符串没有任何空格或回车符,因此它会显示在一条带有丑陋水平滚动条的行上。

我可以在base64_encode()之后和输出到textarea之前手动添加回车符,然后在从textarea检索此字符串之后删除这些CR(在解码之前)吗?

5 个答案:

答案 0 :(得分:5)

您可以使用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值,就不需要做任何特殊的事情。

答案 1 :(得分:3)

当然可以。空格被忽略:

<?php

echo base64_encode('Lorem Ipsump'); // TG9yZW0gSXBzdW1w

echo base64_decode('TG9 yZW0gS      XBz dW1w'); // Lorem Ipsump

?>

答案 2 :(得分:3)

base64_decode(wordwrap(base64_encode('very ... long'), 80, "\n", true)) == 'very ... long'

答案 3 :(得分:1)

或者你可以简单地使用HTML属性wrap在纯HTML中执行它并绕过任何PHP实现......

<textarea name="foo" wrap="soft"><?php echo $encodedString; ?></textarea>

答案 4 :(得分:0)

这可以通过PHP函数wordwrap完成。