Php 将%21等的编码更改为字符
我正在开发一个工具,它通过用户输入的不同字体选项生成图像。我现在遇到的问题是,我用来创建这些图像的类使用$\u GET检索用户输入。用户输入看起来像Php 将%21等的编码更改为字符,php,encoding,urlencode,Php,Encoding,Urlencode,我正在开发一个工具,它通过用户输入的不同字体选项生成图像。我现在遇到的问题是,我用来创建这些图像的类使用$\u GET检索用户输入。用户输入看起来像urlencode($text),它为!生成%21!等等,而不是角色。urldecode()似乎不起作用 $text=isset(urldecode($\u GET['text'])$_获取['text']:''您在错误的东西上包装了isset $text = isset($_GET['text']) ? urldecode($_GET['text'
urlencode($text)
,它为!生成%21!等等,而不是角色。urldecode()似乎不起作用
$text=isset(urldecode($\u GET['text'])$_获取['text']:''代码>您在错误的东西上包装了isset
$text = isset($_GET['text']) ? urldecode($_GET['text']) : '';
你把isset
包装在错误的东西上
$text = isset($_GET['text']) ? urldecode($_GET['text']) : '';
您没有将urldecode($\u GET['text'])
分配给$text
变量。您正在检查是否设置了urldecode($\u GET['text'])
,然后分配$\u GET['text']
试一试
您没有将urldecode($\u GET['text'])
分配给$text
变量。您正在检查是否设置了urldecode($\u GET['text'])
,然后分配$\u GET['text']
试一试
我认为urldecode($\u GET['text'])
有时可以接受空值,因此请在前面使用isset()
确定变量是否已设置且不为空。如果您这样尝试:
$text=isset($\u GET['text'])$_获取['text']:'';
$text=urldecode($text);
它会起作用的。
bool-isset(mixed$var[,mixed$…])
:在这种情况下,$var
是要检查的变量,不是值,因此不能使用urldecode($\u GET['text'])
或isset()
的字符串作为参数,包括empty()
非常感谢Stano的评论,他的代码很有用:
我认为urldecode($\u GET['text'])
有时会取空值,所以在之前使用isset()
确定变量是否已设置且不为空。如果您这样尝试:
$text=isset($\u GET['text'])$_获取['text']:'';
$text=urldecode($text);
它会起作用的。
bool-isset(mixed$var[,mixed$…])
:在这种情况下,$var
是要检查的变量,不是值,因此不能使用urldecode($\u GET['text'])
或isset()
的字符串作为参数,包括empty()
非常感谢Stano的评论,他的代码很有用:
我明白了,我错了。我打开了电脑,你们是对的,$x
被永久设置了,$\u GET['text']
也没有设置。我明白了,我错了。我打开了电脑,你们是对的,$x
设置为永久,或者$\u GET['text']
未设置。