PHP - 添加/删除回车返回到 base 64 编码的字符串
Posted
技术标签:
【中文标题】PHP - 添加/删除回车返回到 base 64 编码的字符串【英文标题】:PHP - add/remove carriage returns to a base 64 encoded string 【发布时间】:2011-04-15 23:35:38 【问题描述】:我有一个显示在文本区域中的 verrrrrrrry 长 base64 编码字符串。问题是这个字符串没有任何空格或回车,所以它显示在一行中,带有一个丑陋的水平滚动条。
我可以在 base64_encode() 之后和输出到 textarea 之前以某种方式手动添加回车,然后在从 textarea 检索此字符串后(在解码之前)删除这些 CR 吗?
【问题讨论】:
【参考方案1】:您可以使用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 值,您就无需执行任何特殊操作。
【讨论】:
【参考方案2】:当然。空白被忽略:
<?php
echo base64_encode('Lorem Ipsump'); // TG9yZW0gSXBzdW1w
echo base64_decode('TG9 yZW0gS XBz dW1w'); // Lorem Ipsump
?>
【讨论】:
【参考方案3】:base64_decode(wordwrap(base64_encode('very ... long'), 80, "\n", true)) == 'very ... long'
【讨论】:
【参考方案4】:或者您可以简单地使用 html 属性 wrap
在纯 HTML 中执行此操作并绕过任何 PHP 实现...
<textarea name="foo" wrap="soft"><?php echo $encodedString; ?></textarea>
【讨论】:
【参考方案5】:这可以通过 PHP 函数 wordwrap 来完成。
【讨论】:
以上是关于PHP - 添加/删除回车返回到 base 64 编码的字符串的主要内容,如果未能解决你的问题,请参考以下文章