chunk_split() 破坏多字节字符

2023-12-20

当我使用chunk_split()函数,它破坏了我的重音字符和特殊字符。我该如何纠正这个问题?

这是我的 PHP 代码。

if(count($text) > 0) {
    $text = implode(' ', $text);
    echo chunk_split($text, 8, '<br />'); 
}

被破坏的重音字符。

&a
mp; Post
er ÀÁ�
�ÃÄÅ�
�áâã�
�åÒÓ�
�ÕÖØ�
�óôõ�
�øÈÉ�
�Ëéè�
�ëÇç�
�ÍÎÏ�
�íîï�
�ÚÛÜ�
�úûü�
�Ññ 

chunk_split 不是多字节安全的,并且没有本机 mb_chunk_split。

http://php.net/manual/en/function.chunk-split.php http://php.net/manual/en/function.chunk-split.php

这是 php 文档中评论者提供的一个函数:

<?php

//from Peter from dezzignz.com 05-Apr-2010 11:30 @ php.net

function mbStringToArray ($str) {
    if (empty($str)) return false;
    $len = mb_strlen($str);
    $array = array();
    for ($i = 0; $i < $len; $i++) {
        $array[] = mb_substr($str, $i, 1);
    }
    return $array;
}

function mb_chunk_split($str, $len, $glue) {
    if (empty($str)) return false;
    $array = mbStringToArray ($str);
    $n = 0;
    $new = '';
    foreach ($array as $char) {
        if ($n < $len) $new .= $char;
        elseif ($n == $len) {
            $new .= $glue . $char;
            $n = 0;
        }
        $n++;
    }
    return $new;
}

?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

chunk_split() 破坏多字节字符 的相关文章

  • nginx + WordPress:SFTP + 自动更新的适当用户/文件权限?

    I used this http wordimpress com aws ec2 rds s3 cloudfront nginx wordpress tutorial roundup 在 Ubuntu VPS 上安装 nginx 和 Wor
  • 阻止表单 POSTing,直到 javascript 代码得到满足

    每当我点击提交按钮时它就会触发alert empty username 但直接引导我去checklogin php 我怎样才能避免这种情况并让它保留在页面上 除非该字段不为空 function RequiredFields var user
  • 用于查找字符串差异的位运算

    我的以下字符串试图找出两个字符串之间的差异 但当它迭代字符串的长度时 速度非常慢 include
  • PHP PDO相关:更新SQL语句未更新数据库内容

    我正在尝试使用准备好的语句来实现更新语句PHP http en wikipedia org wiki PHP脚本 但它似乎没有更新数据库中的记录 我不确定为什么 所以如果您能分享一些见解 我将不胜感激 Code query UPDATE D
  • 尝试使用 swift mailer、gmail smtp、php 发送邮件

    这是我的代码
  • {{ Auth::user()->name }} 如何在 Blade 文件中打印用户名?

    我一直在 laravel 中使用默认身份验证功能 我在一个刀片文件中发现 Auth user gt name 能够显示存储在用户表中的名称 但我想知道的是它是如何显示的用雄辩的口号在刀锋中呼唤名字 你可以像这样使用它 auth gt use
  • 如何从 PHP 输出 XML 字符串

    我正在获取一个 XML 字符串并在 PHP 中对其进行编辑 以便在访问 PHP 文件时最终输出编辑后的 XML 字符串 我一直在尝试使用 echo 和 print 来输出 XML 文档 但它只打印最里面标签内的数据 我希望它的功能就像直接加
  • Symfony2 功能测试会话持久性

    我正在尝试在 Symfony 中进行一些功能测试 但目前我的会话遇到了问题 我执行了一段代码 它似乎有效 但容器的会话中没有存储任何内容 我有一个表格 您可以在其中设置数据 当您提交它时 它会检查值并将其存储在会话中 然后它重定向到另一个页
  • 使用键模式从 Laravel 4 缓存中删除?

    对于我的包 我们使用 Laravel 缓存 我们创建的每个缓存键都有前缀 所以我们得到mypackage config mypackage md5ofafilename有时我需要刷新我的包创建的所有缓存文件 问题是什么 我只知道缓存键的模式
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • 如何修复网站 iframe 错误?

    当我访问此网址时 警告 推荐使用一些广告拦截器 网页链接加载良好 没有错误 但是 当我尝试通过加载同一页面时iframe在我的html代码中 出现错误 我的html代码
  • Golang中如何删除字符串的最后一个字符?

    我想删除字符串的最后一个字符 但在此之前我想检查最后一个字符是否是 如何才能做到这一点 以下是删除尾随加号的几种方法 package main import fmt strings func TrimSuffix s suffix stri
  • 为什么我的函数将布尔值更改为“on”?

    所以我是 php 编程世界的新手 我正在在线学习和其他形式等 但我找不到任何东西来帮助回答我的问题 这就是我在这里的原因 任何帮助当然不胜感激 谢谢 我想将下面的代码变成我可以调用的函数 它的工作原理如下所示 如果我选中表单中的复选框 它会
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • Laravel 作业推送至 Amazon SQS 但未处理

    我正在运行 Laravel 5 3 我正在尝试测试队列作业 并且我已将队列配置为使用 Amazon SQS 我的应用程序能够将作业推送到队列中 并且我可以在 SQS 中看到该作业 但它留在那里 从未被处理 我尝试过跑步php artisan
  • 是否必须配置 PHP 才能通过 PHP 扫描每个目录的配置 INI 文件(即我的情况下的 .htaccess 文件)?

    我在用着Windows 10 家庭单语言 64 位操作系统在我的机器上 我已经安装了最新的副本XAMPP服务器在我的机器上附带PHP 7 2 7 我从 PHP 手册中阅读了以下页面 扫描目录 https secure php net man
  • 运行没有扩展名的 PHP 页面

    我想在 apache Web 服务器上运行我的 PHP 网页 而不需要 php扩大 所以我添加了以下代码 RewriteEngine on RewriteBase Rewritecond REQUEST URI NC RewriteRule
  • 为什么我不能在 TCPDF 表中使用 č,ć,đ 图表?

    我正在为我的网站构建一个 tcpdf 文件 该 tcpdf 文件中有一个包含一些数据的表格 但我无法使该章程正常工作 对于编码 我使用 windows 1250 宪章女巫不起作用 我已经尝试过 utf 8 但仍然没有得到这个章程 tcpdf
  • Smarty输出空白页

    已解决 模板文件错误 我有这样的 Smarty 设置 require once smarty Smarty class php smarty new Smarty smarty gt compile dir compile dir smar
  • 通过 __get() 通过引用返回 null

    快速规格 PHP 5 3 error reporting 1 the highest 我正在使用 get 通过引用技巧神奇地访问对象中任意深度的数组元素 快速示例 public function get key return isset t

随机推荐

  • sapply 与复合函数的速度比较

    gt system time sapply rnorm 1000000 0 1 function x round x 2 user system elapsed 2 78 0 11 2 89 gt system time round rno
  • cref 不在对象浏览器中创建链接

    我在 C 2010 类库中有以下代码
  • 如何在css中定义多个类的hover事件?

    在CSS中 如何定义多个类的悬停事件以使用相同的属性 这似乎不起作用 my div hover my td hover border 1px solid red Thanks 您应该用逗号分隔 如下所示 my div hover my td
  • 以编程方式更改 ActionBar 选项卡下划线颜色

    我已经创建了操作栏 ActionBar actionbar getActionBar 操作栏的背景更改为 actionbar setBackgroundDrawable actionBarBackgroundImage 现在我需要以编程方式
  • Python,日志记录:使用带有字典配置的自定义处理程序?

    这是关于 Python 3 2 GNU Linux x86 64 上的日志记录模块 是否可以使用字典配置设置自定义处理程序 这是我正在尝试的代码 import logging import logging config class Cust
  • Android:首选项屏幕从右到左

    这是PreferenceScreen的xml文件 PreferenceCategory 根据我的需要显示为 RTL 但其他组件显示为 LTR 如何让他们RTL 我必须遵循这个link http android developers blog
  • 从 pyodbc 调用过程时出错

    这是我的第一个问题 所以 如果重复或格式错误 我很抱歉 我搜索了其他问题 发现该错误很常见 但出现在多种情况下 我有一个非常简单的 python 代码 我想在 MSSQL 中从 pyodbc 执行一个过程 import pyodbc con
  • tkinter 显示当前标签,删除前一个[重复]

    这个问题在这里已经有答案了 我正在尝试一个程序 它将显示在输入框中输入的相应名称的标签 问题 它重叠并显示标签 而不是消失以前的条目标签 我的编码 import Tkinter as tki class App object def ini
  • Backbone.js Underscore.js 过滤集合与数组

    我基本上正在尝试解决这个问题 但是使用数组并使用相应数组的值返回所有对象 而不仅仅是值 按属性值过滤骨干集合 https stackoverflow com questions 11762105 filter backbone collec
  • 推荐的元元素?

    为我的网站项目建立一个 基本框架 我想知道哪些元元素是真正必要 推荐的 我特别想知道如何处理语言属性 在下面的例子中 我认为 不必要地重复
  • gradle 构建因未知主机异常而失败

    我刚刚安装了新版本的 Android Studio 并尝试使用内置模板创建一个项目 我的环境是 Windows 7 SP1 64 位 在安全域环境中 我是我的计算机上的域管理员 这是我所看到的 C Users stuz AndroidStu
  • 术语“更新数据库”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查[重复]

    这个问题在这里已经有答案了 我正在使用 VS 2015 Community Update 3 当我尝试使用命令重新创建 EF 驱动的数据库时update database在包管理器控制台中 显示错误 术语 更新数据库 不被识别为 cmdle
  • sequelize postgres 将 fn 'date' 与 jsonb 值结合起来

    我需要比较格式字符串MM DD YYYY与postgres中的另一个使用sequelize在jsonb列上 在常规专栏上我会做类似的事情 sequelize where sequelize fn date sequelize col cre
  • 将元组列表作为参数传递给 scala 中的 Spark udf

    我正在尝试将元组列表传递给 scala 中的 udf 我不确定如何为此准确定义数据类型 我试图将其作为整行传递 但它无法真正解决它 我需要根据元组的第一个元素对列表进行排序 然后发回 n 个元素 我已经尝试过以下 udf 定义 def ud
  • Parse.com 推送通知未在 Android 后台显示

    我将 Parse com 与 Ionic 应用程序和 PushPlugin 结合使用 并尝试使用自定义发件人 ID 通过 GCM 实现 Parse 的推送通知 当我向所有设备发送消息或使用带有 cURL 的 REST API 时 当应用程序
  • 如何改变这种设计以避免沮丧?

    假设我有一个全部继承自基类的对象集合 就像是 abstract public class Animal public class Dog Animal class Monkey Animal 现在 我们需要喂养这些动物 但不让它们知道如何喂
  • 十进制转 JSON [重复]

    这个问题在这里已经有答案了 我正在从数据库中提取一个十进制值的总和 我正在尝试在 JSON 结果中使用该值 json dumps sum amount where amount is my Decimal Django 无法序列化Decim
  • Boost.Python python链接错误

    我正在运行带有最新 Boost 发行版 1 55 0 的 Mac OS X 10 8 4 Darwin 12 4 0 我正在按照说明进行操作here http www boost org doc libs 1 55 0 libs pytho
  • Office 加载项开发 - 格式错误的 GET URL (_host_Info=...)

    我目前正在使用 Microsoft 提供的 JavaScript 界面开发 MS Word Office Addin 我使用 Django 后端进行了测试实现 一切正常 然而 对于最终产品 我必须将功能与在多种配置中运行的现有 Java 后
  • chunk_split() 破坏多字节字符

    当我使用chunk split 函数 它破坏了我的重音字符和特殊字符 我该如何纠正这个问题 这是我的 PHP 代码 if count text gt 0 text implode text echo chunk split text 8 b