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

发布于 2024-09-25 00:27:30 字数 165 浏览 3 评论 0原文

我有一个非常长的 base64 编码字符串,显示在文本区域中。问题是该字符串没有任何空格或回车符,因此它显示在一行上,并带有丑陋的水平滚动条。

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

I have a verrrrrrrry long base64 encoded string which is displayed in a textarea. The problem is that this string doesn't have any spaces or carriage returns so it gets displayed on one line with a ugly horizontal scroll bar.

Can I add somehow carriage returns manually after base64_encode() and before output to the textarea, then remove these CR's after retrieving this string from the textarea (before decoding)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

花心好男孩 2024-10-02 00:27:30

您可以使用 chunk_split 来拆分将字符串分成特定长度的块,然后用所需的字符或字符串重新连接这些块:

$str = base64_encode($whatever);
echo '<textarea name="textarea">'
     . chunk_split($str, 30, "\n") // put a newline every 30 characters
     . '</textarea>';

As base64_decode 忽略空格,检索 textarea 值后无需执行任何特殊操作。

You could use chunk_split to split your string into chunks of a specific length, and then rejoin those chunks with the character or string you want:

$str = base64_encode($whatever);
echo '<textarea name="textarea">'
     . chunk_split($str, 30, "\n") // put a newline every 30 characters
     . '</textarea>';

As base64_decode ignores whitespace, you don't need to do anything special once you retrieve the textarea value.

大海や 2024-10-02 00:27:30

当然。空白被忽略:

<?php

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

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

?>

Certainly. White space is ignored:

<?php

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

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

?>
甜嗑 2024-10-02 00:27:30
base64_decode(wordwrap(base64_encode('very ... long'), 80, "\n", true)) == 'very ... long'
base64_decode(wordwrap(base64_encode('very ... long'), 80, "\n", true)) == 'very ... long'
凉栀 2024-10-02 00:27:30

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

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

Or you could simply use the HTML attribute wrap to do it in pure HTML and bypass any PHP implementation...

<textarea name="foo" wrap="soft"><?php echo $encodedString; ?></textarea>
眼眸印温柔 2024-10-02 00:27:30

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

This can be done with the PHP function wordwrap.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文