gpt4 book ai didi

php - 为什么 PHP 将回车/换行组合视为单个字节?

转载 作者:可可西里 更新时间:2023-11-01 13:00:33 26 4
gpt4 key购买 nike

我有一个 php 脚本可以将字符串截断为 41 个字节。我在字符串上调用 strlen 来检查它的大小。但是,如果字符串有一个“\r\n”组合,则该组合被视为一个字节。所以在我的例子中,PHP 认为它不是 42 个字节,而是 41 个字节。

同时 substr 将其截断为 42 个字节而不是 41 个字节。

  if (strlen($value) > 41)
{
$value = substr($value, 0, 41);

另一个奇怪的情况。我有大量数据要通过此功能传递。数以千计的字符串。如果我使用更简单的测试数据集,那么代码可以正常工作,将“\r\n”视为 2 个字节。

有什么想法吗?谢谢。

最佳答案

将组合\r\n 转换为\n ,做任何你需要的,然后将所有\n 恢复为组合 ...

str_replace("\r\n","\n",$value);
if (strlen($value) > 41)
{
$value = substr($value, 0, 41);
str_replace("\n","\r\n",$value);

希望这对你不知道你想做什么

关于php - 为什么 PHP 将回车/换行组合视为单个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4606290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com