php - 查询字符串的 Javascript 或 PHP 语法突出显示?

标签 php javascript query-string syntax-highlighting

有很多语法高亮器,但我还没有看到支持高亮查询字符串的东西!

我正在寻找可以在记录我的 API 时使用的东西,并且作为一个 API,涉及到很多查询字符串。所以。有哪些支持查询字符串的优秀 javascript 或 PHP 语法高亮器?

我调查了Google code prettify , highlight.js , prismjs和其他一些人,但他们似乎都无法强调这一点:

/oauth/authorize?client_id=wG2X7q1qz74zdSbgiFkyL5JFOeloQwg2opfrPfaJ&response_type=code&redirect_uri=https%3A%2F%2Fmyapplication.com%2Foauth&scope=account%2Ccompetition%2Cvideos&state=d41d8cd98f00b204e9800998ecf8427e

这应该突出显示一种颜色的所有键,以及另一种颜色的所有值, &?= 再次成为不同的颜色......类似于: enter image description here

最佳答案

就我而言,像“?”、“&”和“=”这样的所有字符都应该替换为正确 URL 中的名称/值。这使得它非常容易解析。

那么为什么不自己发明一些东西呢:

function parseQuery(query){
    parsed = query.split('?');
    if (parsed.length > 1) {
        parsed[1] = parsed[1].split('&');
        for(i in parsed[1]) {
            parsed[1][i] = parsed[1][i].split('=');
        }
    }
    retStr = '<span class="path">' + parsed[0] + '</span>';
    if (parsed.length > 1) {
        retStr += '<span class="qm">?</span>';
        first = true;
        for(i in parsed[1]) {
            if (first) {
                first = false;
            } else {
                retStr += '<span class="amp">&</span>';
            }
            retStr += '<span class="name">' + parsed[1][i][0] + '</span>';
            if (parsed[1][i].length > 1) {
                retStr += '<span class="eq">=</span>' +
                '<span class="value">' + parsed[1][i][1] + '</span>';
            }
            if (parsed[1][i].length > 2) {
                for (var j = 2; j < parsed[1][i].length; j++) {
                      retStr += '<span class="eq">=</span>';
                      retStr += '<span class="error">' + parsed[1][i][j] + '</span>';
                }
            }
        }
    }
    if (parsed.length > 2) {
        for (var i = 2; i < parsed.length; i++) {
              retStr += '<span class="qm">?</span>';
              retStr += '<span class="error">' + parsed[i] + '</span>';
        }
    }
    return retStr;
}

http://jsfiddle.net/YqrpV/1/

关于php - 查询字符串的 Javascript 或 PHP 语法突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625933/

相关文章:

php - 可以通过索引访问 PHP parse_str 数组值吗?

php - 用户 ID 递增不当

javascript - 如何在 fs.existsSync 或 statSync 或 readFileSync 内部使用通配符

javascript - css 仅附加到第一个面板

c# - 没有 URL 查询字符串的 ASP.NET MVC 解析变量

java - 休息获取: How to add "URL with Query Parameters" in Query Parameters of a URL?

php - 使用 json 解码获取一些数据

php::textarea中的新行?

PHP 最佳实践 : Should a given parameter always have a consistent type?

javascript - 在 javascript "contructor --> prototype"链是永无止境的