首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

删除utf8字符的代码在php 5.3.3上不起作用

在PHP 5.3.3上删除UTF-8字符的代码可能不起作用的原因是该版本的PHP在处理UTF-8字符时存在一些问题。为了解决这个问题,可以尝试以下几种方法:

  1. 使用mbstring扩展:mbstring扩展是PHP的一个内置扩展,提供了处理多字节字符的功能。可以使用mbstring提供的函数来删除UTF-8字符。例如,可以使用mb_substr函数来截取字符串,将UTF-8字符排除在外。具体代码如下:
代码语言:txt
复制
function remove_utf8_chars($string) {
    $result = '';
    for ($i = 0; $i < mb_strlen($string, 'UTF-8'); $i++) {
        $char = mb_substr($string, $i, 1, 'UTF-8');
        if (mb_check_encoding($char, 'UTF-8')) {
            continue;
        }
        $result .= $char;
    }
    return $result;
}
  1. 使用正则表达式:可以使用正则表达式来匹配并删除UTF-8字符。具体代码如下:
代码语言:txt
复制
function remove_utf8_chars($string) {
    return preg_replace('/[\x00-\x7F\xC0-\xFD]/', '', $string);
}
  1. 使用iconv函数:iconv函数可以用于字符编码转换,可以将UTF-8字符转换为空字符串。具体代码如下:
代码语言:txt
复制
function remove_utf8_chars($string) {
    return iconv('UTF-8', '', $string);
}

以上是几种可能的解决方法,根据具体情况选择适合的方法。另外,腾讯云提供了丰富的云计算产品和服务,例如云服务器、云数据库、云存储等,可以根据具体需求选择相应的产品。更多关于腾讯云产品的信息可以参考腾讯云官方网站:https://cloud.tencent.com/。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

php json_decode解析失败及错误处理

可以用json_last_error_msg,见 http://cn2.php.net/manual/en/… 不过json_last_error_msg只php >= 5.5.0版本才有,如果版本低...2、低版本php json错误码不全 但是,注意看manual就会发现,json_last_error定义很多错误码都是高版本里才有的,低版本php就歇菜了。...例如JSON_ERROR_UTF8这个错误码明白地告诉我们json字符串中有非法utf8字符,但是只Php >= 5.3.3中才有。而很悲剧是,我php就是5.3.2…....如果是json格式错误,再低版本php都会告诉你JSON_ERROR_SYNTAX,所以碰上JSON_ERROR_NONE第一个可能性就往非法utf8字符串想. 3、如何处理json中非法utf8字符...根据utf8编码范围,是可以剔除掉非法utf8字符

1.3K10
  • 关于PHP缓冲控制IE浏览器下应用

    最近写程序时候遇到一个问题,就是我用PHP控制浏览器缓冲,试了N次都无法实现想要效果,具体程序见下面的代码: 上面这段程序是实现每隔1秒钟浏览器上输出一个字符,但实际效果是程序执行完后才把所有字符输出到浏览器上,调试了好几次都不行。在网上搜索了N个技术文章都没有解决这个问题。...最后从一篇文章上找到些灵感,那篇文章里写到flush()函数可能在微软IE浏览器个别版本上不起作用。...于是我用FireFox浏览器试了一下,果然立即出现了想要效果,我浏览器是IE6,经过查阅相关资料,得知,IE某些版本只有字符串缓冲到256字节时候才会将缓冲内容输出到浏览器上。...根据这个特点,我修改了一下程序,结果得到了预期效果,具体代码如下: <?php for ($i=0; $i<10; $i++) { echo "".

    1.2K10

    Linux CentOS 6.5 + Apache + Mariadb + PHP环境搭建

    . 7 八、 配置php. 9 九、 部署php代码文件... 10 十、 安装及配置vsftpd服务器... 12 操作系统环境:CentOS 6.5-x86_64 下载地址...安装函数依赖模块 [root@localhost tmp]# rpm -iUvh php-common-5.3.3-40.el6_6.x86_64.rpm warning: php-common-5.3.3...on line 9, referer: http://192.168.40.80/1dcq/framework/pagesObject.php 找到如下代码,去掉前面的分号,即取消注释,加载该模块。...浏览器中输入:服务器地址/info.php,如:http://192.168.30.80/info.php 如果可看到php版本,系统等相关信息则表示成功了 ?...参考连接: http://php.net/manual/zh/install.unix.apache.php 九、部署php代码文件 安装好后,可以把PHP代码“framework.zip”解压源码

    1.5K60

    渗透测试系统学习-Day10

    宽字节注入 1.什么是魔术引号 我们现在要了解一个PHP防御函数 magic_quotes_gpc() 魔术引号开关 magic_quotes_gpc函数php作用是判断解析用户提交数据,如包括有...这些字符都会被加上反斜线 magic_quotes_gpc作用:当PHP传参有特殊字符就会在前面加转义字符''来做一些过滤 单引号和双引号内一切都是字符串,那我们输入东西如果不能闭合掉单引号和双引号...低版本:修改配置文件然后强制执行 php.ini文件 高版本:删除掉了这个配置,通过特定函数使用 5.4版本以上被取消了,把安全编码交给了用户自己,从而避免了magic_quotes_gpc未设置...多字符编码 => 多个字符组在一起成为一个汉字 GBK = 双字节编码 ASCII = 单字节编码 编码不同会有歧义 关于更多编码方式,我有一篇讨论MySQL为什么用utfmb4而不用utf8有讲到...为什么不建议MySQL中使用UTF8

    54820

    PHP 构造函数和析构函数原理与用法分析

    为了实现向后兼容性,如果 PHP 5 类中找不到 __construct() 函数并且也没有从父类继承一个的话,它就会尝试寻找旧式构造函数,也就是和类同名函数。...自 PHP 5.3.3 起,命名空间中,与类名同名方法不再作为构造函数。这一改变不影响不在命名空间中类。...// treated as regular method as of PHP 5.3.3 } } 析构函数 __destruct ( void ) : void PHP 5 引入了析构函数概念...析构函数会在到某个对象所有引用都被删除或者当对象被显式销毁时执行。 Example #3 析构函数示例 <?...更多关于PHP相关内容感兴趣读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符

    1.3K20

    规则换了没关系,照样优雅查看答案

    又到了全新一个学期,又迎来了全新学习。三篇教程似乎全新单元上不起作用。基于他们要求,我又去重新寻找新方法。...经过了近20分钟寻找,我最终找到了一个全新方法完美解决了问题,请看以下视频。 高清视频地址 : https://v.qq.com/iframe/player.html?...d1334a7qhkk&auto=0&tiny=0 流量不足请看以下介绍: 首先打开单元界面,注意:此处不要直接打开具体练习 ; 在此处点击右键,选择“检查”,当然,也可以按“F12”; 点击跳出来界面右上角...“Network”; 此时再点击你要做练习; 本来空着右侧这时候便会多出一串文件,我们只需点击“initPage.php”这个文件就好了; 在出现一串代码中,我们可以看到key这一行,旁边就是答案...; 当做完这一题之后,点击next进入下一个界面是“Netwok”那一栏中又会多出一些文件,继续点击新出现“Network”就是新题目的答案。

    85910

    php实现带权限增删改查功能

    cyg.php(注册页面) cyg1.php(登录页面) BOSS登陆后权限 查看权限 删除权限 更新权限 创建权限 求职者权限(查看权限) sql 效果: ---- 前言 原生php实现简易招聘网站...(权限不同) 第二:不登录不能查看。必须登录某个账号才能查看. 第三:防止重复提交 防止输出空数据 第四:多用户代码如下。 cyg.php(注册页面) <!...) { $_SESSION['is_submit'] = '1'; echo "代码块,要做事,代码......链接数据库字符集 mysqli_set_charset($link,'utf8'); //查询然后判断数据库中用户名username+密码password是不是与表单传过来$username+$password...链接数据库字符集 mysqli_set_charset($link,'utf8'); $sql = "INSERT INTO content(name) VALUES ('{$content}')";

    2.7K20

    CVE-2019-11043PHP-FPMNginx特定配置下远程代码执行漏洞复现

    特殊构造配置生效情况下可以触发任意代码执行。目前开源社区已有漏洞Poc公开。...2019年9月26日 影响范围 Nginx + php-fpm 服务器,使用如下配置情况下,都可能存在远程代码执行漏洞。...进而导致可以通过FCGI_PUTENV与PHP_VALUE相结合,修改当前php-fpm进程中php配置。特殊构造配置生效情况下可以触发任意代码执行。...此漏洞利用先决条件: 1. php需要开启FPM模块,该模块php虽然PHP5.3.3之后已经加入php核心代码但是的PHP发行版默认不安装php-fpm模块,所有默认用户不受影响;要想php...暂停使用nginx+php-fpm 服务 根据自己实际生产环境业务需求,将以下配置删除 fastcgi_split_path_info ^(.+?

    1.3K20

    让Json更懂中文(JSON_UNESCAPED_UNICODE)

    php echo json_encode('中文'); //"\u4e2d\u6587" 这就让我们这些天朝做开发同学, 很是头疼, 有的时候还不得不自己写json_encode....自 PHP 5.3.0 起生效。JSON_ERROR_UTF8 (integer)异常 UTF-8 字符,也许是因为不正确编码。 此常量自 PHP 5.3.3 起生效。...在数组为空而接受者需要一个类(Object)时候尤其有用。 自 PHP 5.3.0 起生效。JSON_NUMERIC_CHECK (integer)将所有数字字符串编码成数字(numbers)。...自 PHP 5.3.3 起生效。JSON_BIGINT_AS_STRING (integer)将大数字编码成原始字符原来值。 自 PHP 5.4.0 起生效。...JSON_PRETTY_PRINT (integer)用空白字符格式化返回数据。 自 PHP 5.4.0 起生效。JSON_UNESCAPED_SLASHES (integer)不要编码 /。

    1.6K50

    PHP相关概念及配置

    客户端动态:服务器端开发一段程序,这段程序源程序下载到客户端本地并且客户端本地运行环境中运行。并通过浏览器将执行结果显示出来。 防止恶意代码,一般不使用。...同时,php还提供了一个命令行接口,因此,其也可以大多数系统上作为一个独立shell来使用。...Zend Engine为PHP提供了内存和资源管理功能以及其它一些标准服务,其高性能、可靠性和可扩展性促进PHP成为一种流行语言方面发挥了重要作用。...及以前版本提供一个免费、闭源PHP扩展,其能够运行由Zend Guard生成加密PHP代码或模糊代码。...php-cli-5.3.3-22.el6.x86_64 命令行工具 php-5.3.3-22.el6.x86_64 php-cli-5.3.3-22.el6

    859130

    MySQL【学习笔记】整理一

    这些编程语言包括 C、C++、Python、Java、- Perl、PHP、Eiffel、Ruby 和 Tcl 等。 MySQL 对PHP有很好支持,PHP 是目前最流行 Web 开发语言。...> | [ DEFAULT ] COLLATE } 知识点 不一定要写数据库名,但需要当前有使用数据库 = 只能支持修改字符集和字符校验规则,如果要修改数据库名可以直接通过工具重命名数据库...,Mysql暂时不支持语句修改 修改数据库不常用,了解即可 # 修改默认数据库字符集 use bookshop; alter database character set utf8; # 修改指定数据库字符集和校验规则...选择数据库 # 选择数据库 use bookshop; 知识点 作用:用来完成一个数据库到另一个数据库跳转【切换当前操作数据库】 当用 CREATE DATABASE 语句创建数据库之后,该数据库不会自动成为当前数据库...set utf8 collate utf8_general_ci; # ====删除数据库==== # 简单删除数据库语句 drop database bookshop; # 如果存在才删除 drop

    49730

    LAMP架构简介与概述 及服务安装

    其中PHP是一种被广泛应用开放源代码多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。...随着开源潮流蓬勃发展,开放源代码 LAMP 已经与 J2EE 和.net 商 业软件形成三足鼎立之势,并且该软件开发项目软件方 面的投资成本较低,因此受到整个 IT 界关 注。...-DDEFAULT_CHARSET=utf8 \ #指定默认使用字符集编码,如 utf8 -DDEFAULT_COLLATION=utf8_general_ci...#指定端口 character-set-server=utf8 #设置服务器字符集编码格式为utf8 pid-file = /usr/local/mysql/mysqld.pid...\ --enable-mbstring \ #启用多字节字符串功能,以便支持中文等代码 --enable-xml \ #开启扩展性标记语言模块 --enable-session

    90420

    什么是BOM头(字节顺序标记(ByteOrderMark))

    类似WINDOWS自带记事本等软件,保存一个以UTF-8编码文件时,会在文件开始地方插入三个不可见字符(0xEF 0xBB 0xBF,即BOM)。...它是一串隐藏字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。...由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为html一开头有这3个字符呢!最大麻烦还不是这个。...去掉bom头办法,简单是下面两种:1、editplus去BOM头方法编辑器调整为UTF8编码格式后,保存文件前面会多出一串隐藏字符(也即是BOM),用于编辑器识别这个文件是否是以UTF8编码。...运行Editplus,点击工具,选择首选项,选中文件,UTF-8标识选择 总是删除签名,然后对PHP文件编辑和保存后PHP文件就是不带BOM了。

    4.3K10
    领券