php中urlencode与rawurlencode的区别, parse_url, simplexml_load_string

来源:互联网 发布:mac在线重装系统失败 编辑:程序博客网 时间:2024/05/15 17:34

urlencode 函数:

返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。

rawurlencode 函数:

返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数。这是在 » RFC 3986 中描述的编码,是为了保护原义字符以免其被解释为特殊的 URL 定界符,同时保护 URL 格式以免其被传输媒体(像一些邮件系统)使用字符转换时弄乱。下面我们来看一下例子:

<?php
$string = "hello world";
echo urlencode($string) . '<br/>'; //输出:hello+world
echo rawurldecode($string) . '<br/>';//输出:hello%20world

?>

------------------------------------------------------------------------------------------------------------------------------------------------

parse_url 函数— 解析URL,返回其组成部分

<?php$url = 'http://username:password@hostname/path?arg=value#anchor';print_r(parse_url($url));echo parse_url($url, PHP_URL_PATH);?>
结果

Array(    [scheme] => http    [host] => hostname    [user] => username    [pass] => password    [path] => /path    [query] => arg=value    [fragment] => anchor)

-------------------------------------------------------------------------------------------------------------------------------------------

simplexml_load_string   把 XML 字符串载入对象中。如果失败,则返回 false。

<?php$xmlstring = <<<XML<?xml version="1.0" encoding="ISO-8859-1"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don't forget the meeting!</body></note>XML;$xml = simplexml_load_string($xmlstring);var_dump($xml);?>
结果

object(SimpleXMLElement)#1 (4){["to"]=> string(4) "George"["from"]=> string(4) "John"["heading"]=> string(8) "Reminder"["body"]=> string(29) "Don't forget the meeting!"}




阅读全文
0 0
原创粉丝点击