javascript与php字符串解析函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript与php字符串解析函数相关的知识,希望对你有一定的参考价值。
一、javascript:
- 代码:
/* @desc:url解析函数 @author <lee> [<[email protected]>] @param url 要查询的url @return ret 解析后的对象 */ function parseurl(url){ var reg = /(?:([A-Za-z]+):)?(/{0,3})?(?:(.*):(.*)@)?([0-9.-A-Za-z]+)(?::(d+))?(?:/([^?#]*))?(?:?([^#]*))?(?:#(.*))?/ var res = reg.exec(url) var scheme = (res[1])?res[1]:‘http‘ var user = (res[3])?res[3]:‘‘ var pass = (res[4])?res[4]:‘‘ var host = (res[5])?res[5]:‘‘ var port = (res[6])?res[6]:‘‘ var path = (res[7])?res[7]:‘‘ var query = (res[8])?res[8]:‘‘ var fragment = (res[9])?res[9]:‘‘ var ret = { scheme:scheme, user:user, pass:pass, host:host, port:port, path:path, query:query, fragment:fragment } return ret }
- 测试:
var url = "https://user:[email protected]:80/a/b/?name=lee&sex=male#id"; var ret = parseurl(url) console.log(ret)
- 输出:
{ scheme: ‘https‘, user: ‘user‘, pass: ‘pass‘, host: ‘www.baidu.com‘, port: ‘80‘, path: ‘a/b/‘, query: ‘name=lee&sex=male‘, fragment: ‘id‘ }
二、php:
- 代码(自带):
parse_url()
- 测试:
<?php $url = "http://user:[email protected]:80/a/b?name=lee&sex=male#id"; $ret = parse_url($url); var_dump($ret);
- 输出:
array(8) { ["scheme"]=> string(4) "http" ["host"]=> string(13) "www.baidu.com" ["port"]=> int(80) ["user"]=> string(4) "user" ["pass"]=> string(4) "pass" ["path"]=> string(4) "/a/b" ["query"]=> string(17) "name=lee&sex=male" ["fragment"]=> string(2) "id" }
以上是关于javascript与php字符串解析函数的主要内容,如果未能解决你的问题,请参考以下文章