PHP检查字符串编码后的get请求

PHP检查字符串编码后的get请求,php,urlencode,Php,Urlencode,我需要复制将转换为的方法 我定义了一个常量,用作子类别和父类别之间的分隔符 定义('CATEGORY_separator','')//(常数可能会变化) $sql.=“组名称(c.name顺序按c.level分隔符“.”类别名称分隔符“.”作为名称 一个可能的结果可能是 行=数组( 'name=>category1 category2 ) 然后,类别将显示为链接列表 单击链接时,URL将被编码 地址栏:`www.example.com/categories?name=category1>cat

我需要复制将
转换为
的方法

我定义了一个常量,用作子类别和父类别之间的分隔符

定义('CATEGORY_separator','')
//(常数可能会变化)

$sql.=“组名称(c.name顺序按c.level分隔符“.”类别名称分隔符“.”作为名称

一个可能的结果可能是

行=数组(
'name=>category1 category2
)

然后,类别将显示为链接列表

  • 单击链接时,URL将被编码

    地址栏:`www.example.com/categories?name=category1>category2

    我希望能够检查
    类别分隔符
    是否存在于
    $\u GET['name']
    中,以便执行

    $name = $_GET['name'];
    $categories = explode(CATEGORY_SEPERATOR, $name);
    
    但是当
    $\u GET['name']
    到达我的脚本时,它的甜菜已经转化了

    $\u获取['name']
    初始值

    变量转储:
    string'category1>category2'(长度=27)

    stripslashes()之后(无更改)

    变量转储:
    string'category1>category2'(长度=27)

    htmlspecialchars($data,ENT_COMPAT,'UTF-8')之后;

    变量转储:
    string'category1'category2'(长度=30)

    现在,我已经通过执行以下操作来稍微扭转它

    $\u GET['name']=htmlspecialchars\u decode($\u GET['name'],ENT\u COMPAT);

    if(ini\u get('magic\u quotes\u gpc')){
    $\u GET['name']=addcslashes($\u GET['name']);
    }

    但还是需要从你那里得到它

    category1>category2
    to


    我尝试过使用urldeocde和rawurldecode,但运气不好。

    逆转用于编码的过程会起作用,但不幸的是,在客户端(浏览器)的某个地方,数据在发送到服务器之前被更改/损坏

    这是一个有对应功能的列表

    • ->
    • ->
    • ->

    反转用于编码的过程将起作用,但不幸的是,在客户端(浏览器)的某个地方,数据在发送到服务器之前被更改/损坏

    这是一个有对应功能的列表

    • ->
    • ->
    • ->

    你在抱怨
    这是一个字符集问题。你的文本已损坏,你需要全部修复-没有100%可靠的方法来检测真正应该是
    的内容和损坏的字符。请阅读:谢谢,我认为
    的编码版本。感谢链接
    是一个不间断的空格。它永远不会显示为
    ,因为根据定义它是一个空格字符。您正在抱怨
    ?这是一个字符集问题。您的文本已损坏,您需要修复它-没有100%可靠的方法来检测真正应该是
    的内容和什么是损坏的字符。阅读以下内容:谢谢,我认为
    的编码版本。谢谢链接
    是一个不间断的空格。它永远不会显示为
    ,因为根据定义它是一个空格字符。