php中解析带中文字符的url函数分享

 这篇文章主要介绍了php中解析带中文字符的url函数分享,本文直接给出实现代码,重点是对rawurlencode函数的使用上,需要的朋友可以参考下

 
 

很多时候,在书写网页应用程序时候,会遇到中文和其他字符冲突的问题,例如有的url链接中包含中文字符,那么在使用wget/curl/file_get_contents等等获取信息时候会直接撞上一个大大的“404”,会很无语。

这里写了一个小函数来解决这个问题,只是限于在path中进行解析而已,涉及到的相关函数使用大家可以查看手册就行。

代码如下:

function urlConvert($url){
$pathArr = array();
$modules = parse_url($url);
$path = $modules['path'];
$pathSplit = explode(‘/', $path);

foreach ($pathSplit as $row){
$pathArr[] = rawurlencode($row);
}
$urlNew = $modules['scheme']."://".$modules['host'].implode(‘/', $pathArr);
return $urlNew;
}

时间: 2024-10-29 22:02:47

php中解析带中文字符的url函数分享的相关文章

中文匹配-bash中怎么匹配中文字符

问题描述 bash中怎么匹配中文字符 正则表达式[u4e00-u9fa5]在shell中为什么匹配不出中文,且在grep中报出grep:Invalid range end,我想在shell中匹配输入的中文该怎么做呢 解决方案 Bash 字符匹配正则匹配中文字符中文字符及其中文标点符号正则表达式匹配 解决方案二: 还要看bash是对中文如何编码的,不然没办法直接匹配.

在java类中写带中文的sql语句,查询结果为空

问题描述 在java类中写带中文的sql语句,查询结果为空 String query="select * from Restaurant where Restaurant_name='紅樹林';"; rs=stm.executeQuery(query); 这是我在封装好的数据库类中写的sql语句,查询结果为空(rs.next() 为false ) 如果改用id查询,即: String query="select * from Restaurant where Restaura

SQL判断某列中是否包含中文字符、英文字符、纯数字

原文:SQL判断某列中是否包含中文字符.英文字符.纯数字 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%'  三.包含纯数字 select * from 表名 where 列名 like '%[0-9]%'

包含中文字符的URL编码问题_XML/RSS

在xml应用中,经常将一些URL信息作为xml数据存储,其中URL参数有可能包含有中文字符.当使用dom对xml数据进行解析时,可以对中文字符进行编码.但如果只使用xslt来显示xml数据时(data.xml+data.xsl),发现此时的URL会出现编码错误.即使指定编码类型(encoding="gb2312"),依然会出现同样的问题.测试发现:是IE的缓存机制问题,IE仍会把新的页面(所链接的URL)的MIME内容类型默认为text/xml 解决方法:1.指定输出文档类型为xml文

SQLServer2005企业管理器中不能录入中文字符的原因

server|sqlserver|中文 本文参考了邹老大的文章: http://blog.csdn.net/zjcxc/archive/2006/08/20/1099215.aspx 我们在Management Studio Express中 打开表编辑时,发现有时不能打开输入法录入中文字符. 其实这也是它的一个小BUG,我们做个试验,建两表A和B. A表的第一字段为ID自增值.这就表时A表的第一字段为只读的,其它的字段随便 B表第一个字段不是自增值,凡在可写就行了. 现在打开来两表来看,A表将

php中不转义中文字符的 json 编码方法

虽说最新的 PHP 5.4 已经良好支持 JSON 中文编码,即通过 JSON_UNESCAPED_UNICODE 参数,例如: json_encode("中文", JSON_UNESCAPED_UNICODE)对于早前 PHP 版本,处理不转义中文字符的 json 编码 PHP 和 JavaScript 交互其实很方便,PHP 原生也提供了对 JSON 格式的支持.主要包括 JSON 编码和解码两个函数: json_endoce: http://cn.php.net/json_enc

编写PHP程序检查字符串中的中文字符个数的实例分享_php实例

有时候我们需要计算一个字符串中包含的字数,对于纯英文字符串,字数等于字符串长度,用 strlen函数即可获得,但如果字符串中包含中文怎办?mb_strlen可以实现,但不幸没装扩展,那就自己实现一下吧. php有一个扩展一般是必装的,我们可以使用mb_strlen来获取字符串中的字数,用法一般如下: $len = mb_strlen("你是我的小苹果","utf-8"); 如愿获得字符串长度:7. 如果没装mb扩展呢?自己实现一下吧. 我们要先明白一个事实:字符串是

提取字符串中的【中文字符】

RT,原理是中文字符占2个字节宽度,并且第一个字符的ASCII码值小于0. #include<iostream> #include<string> using namespace std; string getChinese(string inputStr); string getChinese(string inputStr) { string result; for (int i=0;i<inputStr.size();i++) { if ( (int)(inputStr

javascript 判断中文字符长度的函数代码_javascript技巧

JS的字符串都是string对象,可以用string对象的length属性可以获取其长度,但是无论是中文.全角符号以及英文最小长度单位都是1,这与php的strlen()并不相同. 复制代码 代码如下: function strlen(str) { var s = 0; for(var i = 0; i < str.length; i++) { if(str.charAt(i).match(/[u0391-uFFE5]/)) { s += 2; } else { s++; } } return