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 编码的字符串的主要内容,如果未能解决你的问题,请参考以下文章

为啥Base64编码有回车换行符

微信小程序 base64格式图片的展示保存及pdf打开

Java Base64编码存在 情况

PHP base64_decode 产生无效的图像文件

使用 JSON 从 Android 发送 Base64 图像到 php webservice,解码,保存到 SQL

将水印添加到图像(Base64)并进行转换