热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php中escapeunescape的写法

*functionphpescape($str){$sublen=strlen($str);$restring="";for($i=0;$i<$sublen;$i++){if(ord($str[$i])>=127){$tmps教程tring=bin2he...
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> =127){$tmps教程tring=bin2he...">
当前位置:首页 > PHP教程 > php函数 > 列表
php中escape unescape的写法
发布: 来源:  添加日期:2014-08-25 09:15:25 浏览: 评论:0 
  1. */
  2. function phpescape($str){  
  3. $sublen=strlen($str);  
  4. $restring="";  
  5. for ($i=0;$i<$sublen;$i++){  
  6. if(ord($str[$i])>=127){  
  7. $tmps教程tring=bin2hex(iconv("utf-8","ucs-2",substr($str,$i,2))); 
  8.  
  9. if (!eregi("win",php_os)){  
  10. $tmpstring=substr($tmpstring,2,2).substr($tmpstring,0,2);  
  11. }  
  12. $restring.="%u".$tmpstring;  
  13. $i++;  
  14. else {  
  15. $restring.="%".dechex(ord($str[$i]));  
  16. }  
  17. }  
  18. return $restring;  
  19. } 
  20. function unescape($str) {  
  21. $str = rawurldecode($str);  
  22. preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/u",$str,$r);  
  23. $ar = $r[0];  
  24. foreach($ar as $k=>$v) {  
  25. if(substr($v,0,2) == "%u")  
  26. $ar[$k] = iconv("ucs-2","utf-8",pack("h4",substr($v,-4)));  
  27. elseif(substr($v,0,3) == "&#x")  
  28. $ar[$k] = iconv("ucs-2","utf-8",pack("h4",substr($v,3,-1)));  
  29. elseif(substr($v,0,2) == "&#") {  
  30. $ar[$k] = iconv("ucs-2","utf-8",pack("n",substr($v,2,-1)));  
  31. }  
  32. }  
  33. return join("",$ar);  
  34. } 
  35. function escape($str) {  
  36. preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r);  
  37. $ar = $r[0];  
  38. foreach($ar as $k=>$v) {  
  39. if(ord($v[0]) < 128)  
  40. $ar[$k] = rawurlencode($v);  
  41. else  
  42. $ar[$k] = "%u".bin2hex(iconv("gb2312","ucs-2",$v));  
  43. }  
  44. return join("",$ar);  
  45. } 
  46. function unescape($str) {  
  47. $str = rawurldecode($str);  
  48. preg_match_all("/(?:%u.{4})|.+/",$str,$r);  
  49. $ar = $r[0];  
  50. foreach($ar as $k=>$v) {  
  51. if(substr($v,0,2) == "%u" && strlen($v) == 6)  
  52. $ar[$k] = iconv("ucs-2","gb2312",pack("h4",substr($v,-4)));  
  53. //开源代码phpfensi.com 
  54. return join("",$ar);  

推荐阅读
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • PHP与MySQL的Web应用开发技术深入解析
    PHP与MySQL的Web应用开发技术深入解析 ... [详细]
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • 本文提供了详细的 Filebeat 部署指南,涵盖了解压安装包、配置文件编辑以及启动服务等关键步骤。具体操作包括使用 `tar -zxvf filebeat-6.1.1-linux-x86_64.tar.gz` 解压安装包,并通过 `vi /home/elk/filebeat-6.4.2-linux/filebeat.yml` 编辑配置文件。此外,文章还介绍了最佳实践,帮助用户确保 Filebeat 的高效运行和数据传输的可靠性。 ... [详细]
  • Syncnavigator激活工具及破解方法详解
    本文详细介绍了Syncnavigator激活工具的使用方法及其破解技巧。用户可以通过访问官方网站www.SyncNavigator.CN获取相关资源,并通过客服QQ 1793040获得技术支持和帮助。此外,文章还提供了详细的步骤说明和常见问题解答,以确保用户能够顺利激活并使用Syncnavigator软件。 ... [详细]
  • 《我的世界》Java版与Windows 10版(基岩版)有何不同?
    《我的世界》Java版与Windows 10版(基岩版)有何不同? ... [详细]
  • 源代码是构建网站的基础,涵盖了网站程序的所有代码、文件和目录结构。掌握源代码意味着完全控制网站的所有权。在传统自助建站平台中,由于采用SAAS模式,源代码通常不对外开放,用户实际上每年支付的费用仅是为了使用这些平台提供的服务,而无法获得真正的代码所有权。相比之下,米拓源代码提供了全面的技术细节和实现方法,使开发者能够深入了解并自主定制网站功能,确保了更高的灵活性和安全性。 ... [详细]
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • 深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树
    深入探讨:Java 8 中 HashMap 链表为何选择红黑树而非 AVL 树 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 二叉树的直径是指树中任意两个叶节点之间最长路径上的节点数量。本文深入解析了计算二叉树直径的算法,并提出了一种优化方法,以提高计算效率和准确性。通过详细的案例分析和性能对比,展示了该优化算法在实际应用中的优势。 ... [详细]
  • 本文全面解析了 gRPC 的基础知识与高级应用,从 helloworld.proto 文件入手,详细阐述了如何定义服务接口。例如,`Greeter` 服务中的 `SayHello` 方法,该方法在客户端和服务器端的消息交互中起到了关键作用。通过实例代码,读者可以深入了解 gRPC 的工作原理及其在实际项目中的应用。 ... [详细]
  • vtkGlyph3D 是一种强大的符号化可视化工具,能够将三维数据集中的每个点用预定义的几何图形(如球体或箭头)进行表示。该工具不仅支持自定义符号的方向和缩放比例,还能够在复杂的数据场中突出显示关键特征,从而提高数据的可解释性和可视化效果。通过这种方式,用户可以更直观地理解和分析三维数据集中的重要信息。 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 开发日志:在插入数据到一张表的同时更新另一张表的技术细节与最佳实践 ... [详细]
author-avatar
lxm淡淡嘚甜_671
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有