`
qiujiayu
  • 浏览: 173541 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php preg_replace 乱码问题

    博客分类:
  • PHP
阅读更多

还是用代码来说话吧:

 

$pattern = "/ (href|src)=['|\"]http:\/\/(\w*\.?mysite\.com)\/([^\?'\"]*)['|\"]/i";

$repl = " \1='http://\2/\3?p=faskdfkasdkf'";

$result="<a href='http://eg.mysite.com/'>中国人</a>";
$result = preg_replace($pattern, $repl, $result);
echo $result;

 

上面这段代码的作用,我就不解释了,可以自己执行一下。

 

执行后你会发现出现有乱码,经过查资料发现是$repl写错了,应该用\\来做代替位置,正确格式如下:

 

$repl = " \\1='http://\\2/\\3?p=faskdfkasdkf'";

 

还有一点一定要注意:mb_ereg_replace 在并发情况下会内存泄露,造成压力测试无法通过。

分享到:
评论

相关推荐

    PHP使用preg_split和explode分割textarea存放内容的方法分析

    2. **编码一致性**:确保你的项目使用相同的字符编码(如UTF-8),以避免字符处理时出现乱码问题。 3. **trim函数**:在分割字符串之前,使用`trim`函数去除首尾的空白字符,避免因额外的空格或换行影响结果。 4. ...

    PHP 过滤生僻字和特殊字符

    例如,我们可以定义一个包含生僻字和特殊字符的正则表达式,然后用`preg_replace()`函数进行替换。 ```php $filtered_string = preg_replace('/[\x{0080}-\x{FFFF}]/u', '', $original_string); ``` 这段代码使用了...

    基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)

    - 可以使用`str_replace`函数逐一替换,或者使用正则表达式一次性清除,如`preg_replace("/([\r\n|\n|\t| ]+)/",'',$contents)`。 4. **正则表达式匹配与preg_match_all**: - `preg_match_all`函数用于在整个...

    有关json_decode乱码及NULL的问题

    下面是一个具体的PHP代码示例,它展示了如何解决json_decode乱码和null的问题: ```php if(file_exists($result['save_path'])){ $contents=file_get_contents($result['save_path']);//将一个文件的内容写入,文件...

    php编码转换,不需要iconv,mb_convert_encoding

    2. **使用 preg_replace_callback()**: 正则表达式配合回调函数可以实现更复杂的转换。例如,可以匹配UTF-8编码的多字节字符,并逐个转换。但这需要对目标编码的结构有深入理解,而且实现起来较为复杂。 3. **...

    PHP批量替换表情字符插件总结

    在处理表情字符时,确保数据库和代码文件都采用UTF-8编码,可以避免乱码问题,使表情字符正确显示。 批量替换表情字符通常涉及以下步骤: 1. **定义表情字符集**:首先,你需要创建一个包含所有可用表情字符的集合...

    过虑word复制引起的不能提交

    使用PHP处理这些文本时,可以使用`strip_tags`去除HTML标签,`str_replace`替换特定字符,`preg_replace`正则表达式替换或删除特殊字符。 **数据库字段类型和长度限制**:Word文本可能含有大量内容,如果数据库字段...

    php去除头尾空格的2种方法

    PHP去除字符串头尾空格的方法主要有两种,一种是使用正则表达式的preg_replace函数进行替换,另一种是使用PHP内置的trim函数。这两种方法在处理字符串时非常实用,尤其是在处理用户输入的数据时,去除不必要的头尾...

    [其他类别]PHP除bom小程序_bom.zip

    通常,这样的程序会使用文件操作函数,如`file_get_contents()`来读取文件,`str_replace()`或`preg_replace()`来移除BOM,然后使用`file_put_contents()`将结果写回文件系统。 使用这样的工具是非常方便的,特别是...

    php utf-8编码去bom小工具

    在PHP中,处理文件内容和编码转换通常涉及到字符串操作函数,如`file_get_contents()`用来读取文件内容,`str_replace()`或`preg_replace()`用于查找并替换特定模式(在这种情况下是BOM),以及`file_put_contents()...

    php做下载文件的实现代码及文件名中乱码解决方法

    在PHP中实现文件下载功能,通常...通过上述知识点的详细解释,我们可以看到实现PHP下载文件功能以及解决文件名乱码问题,需要对HTTP协议有一定的了解,并且要注意编码规范的应用,以确保在不同浏览器中都能正常工作。

    跨浏览器PHP下载文件名中的中文乱码问题解决方法

    在PHP开发过程中,当涉及到文件下载功能时,尤其是在处理包含中文字符的文件名时,可能会遇到跨浏览器的中文乱码问题。这个问题主要是由于不同浏览器对于非ASCII字符编码方式的处理不一致导致的。本篇文章将深入探讨...

    PHP 中的 Unicode 签名.doc

    return preg_replace('/^'.preg_quote("\xEF\xBB\xBF", '/').'/', '', $string); } ``` 这个函数可以用于读取文件内容之前,先调用以去除BOM,确保后续数据处理不受影响。 3. **使用PHP6或更高版本**:据作者...

    php中比较简单的导入phpmyadmin生成的sql文件的方法

    这段代码中,`iconv`函数用于将读取的UTF-8编码的SQL文件转换为GB2312编码,因为某些情况下,导出的SQL文件可能是以GBK或GB2312编码的,与PHP默认的UTF-8编码不匹配,可能会导致乱码问题。 接着,为了确保导入过程...

    PHP JSON格式的中文显示问题解决方法

    在开发涉及到前后端数据交互的Web应用时,经常会遇到使用PHP与JSON格式传输中文字符时遇到乱码的问题。由于JSON标准中规定所有的字符串都应当使用UTF-8编码进行传输,这就要求在处理中文等非英文字符时要有特殊的...

    解析php混淆加密解密算法.pdf

    总结起来,PHP的加密技术主要利用了eval、preg_replace的e修饰符、strtr和base64_decode等函数。这些工具和方法旨在增加代码的阅读和理解难度,以达到保护代码的目的。然而,随着技术的发展,各种解密工具和技巧也随...

    bom.rar_BOM

    file_put_contents('file.php', preg_replace('/^[\x{EF}\x{BB}\x{BF}]/u', '', $content)); ``` - 使用命令行工具:如`sed`命令也可以用来删除BOM。 4. **压缩包内的文件**: - `bom.php`:这可能是包含一个...

    PHP附件下载中文名称乱码的解决方法

    在PHP开发过程中,当涉及到文件下载功能,尤其是文件名包含中文字符时,常常会遇到中文乱码的问题。这是因为浏览器和服务器之间对非ASCII字符的处理方式不同,导致在传输过程中出现编码不一致的情况。本文将详细讲解...

Global site tag (gtag.js) - Google Analytics