HTML查询源URL编码(答案)


HTML to Query Source - URL ENCODING(Answer)

下面的转换叫做什么?有没有办法在PHP中从输入的文本框中生成这个源这个过程叫什么?

原来

Title here
Description located here
enter
enter
last text

jobdesc =标题+ % d % 0 a % 0 d % 0 adescription +位于+ % d % 0 a % 0 d % 0 aenter % d % 0 a % d % 0 aenter % d % 0 a % 0 d % 0 alast + text& curlsubmit =提交

它是URL编码的,您可以使用:

$encoded = urlencode($input);

除了URL编码之外,您的示例还附加了文本中不存在的&curlsubmit=submit

要得到完全相同的输出:

$output = 'jobdesc=' . urlencode($input) . '&curlsubmit=submit';

URL编码是所有浏览器使用的编码查询字符串和表单数据的标准格式。它可以防止像&这样的特殊字符破坏字符串的键值格式。

更多信息

如果你有你的表单方法标记为GET,你按下提交按钮,然后它会出现在你的url地址。它叫做url编码。

在php中,您可以使用urlencode();函数将文本更改为这种格式;使用urldecode()

解码用Url编码编码的字符串

阅读更多关于url编码的内容。

    PHP手册
  1. w3
  2. RFC

关于RFC

2.1。百分比编码

百分比编码机制用于表示A中的数据八位元组组件,当该八位字节的对应字符不在的分隔符,或在其内部使用组件。百分比编码的八位字节被编码为字符三元组,由百分比字符"%"后面跟着两个组成表示该八位字节数值的十六进制数字。为例如,"%20"是二进制八位字节的百分比编码"00100000" (ABNF: %x20),在US-ASCII中对应空格字符(SP)。第2.4节描述了百分比编码和

  pct-encoded = "%" HEXDIG HEXDIG

大写十六进制数字'A'到'F'等价于分别用小写数字‘a’到‘f’。如果有两个uri仅在百分制编码中使用十六进制数字时不同它们是相等的。为了保持一致性,URI生产者和规范化程序应该使用大写十六进制数字表示所有的百分比-编码。