2

下面的转换叫什么?有什么方法可以从我输入的文本框在 PHP 中生成这个源代码,这个过程叫什么?

原来的

Title here

Description located here

enter

enter

last text

来源

jobdesc=标题+这里%0D%0A%0D%0A描述+定位+这里%0D%0A%0D%0Aenter%0D%0A%0D%0Aenter%0D%0A%0D%0Alast+text&curlsubmit=提交

4

2 回答 2

4

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

$encoded = urlencode($input);

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

要获得完全相同的输出:

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

URL 编码是一种标准格式,用于对所有浏览器使用的查询字符串和表单数据进行编码。它可以防止特殊字符例如&破坏字符串的键值格式。

更多信息

于 2013-06-14T12:10:06.353 回答
2

如果您将表单方法标记为GET并按下提交按钮,那么它将出现在您的 url 地址中。它被称为url编码。

在php中,您可以使用urlencode();函数将文本更改为这种格式;要解码使用 Url 编码的字符串,请使用urldecode()

阅读有关 url 编码的更多信息。

  1. PHP 手册
  2. W3S
  3. RFC

有关RFC编码的更多信息

2.1。百分比编码

当八位字节的对应字符超出允许的集合或用作组件的分隔符或组件内时,百分比编码机制用于表示组件中的数据八位字节。百分比编码的八位字节被编码为一个字符三元组,由百分比字符“%”后跟代表该八位字节数值的两个十六进制数字组成。例如,“%20”是二进制八位字节“00100000”(ABNF:%x20)的百分比编码,在 US-ASCII 中对应于空格字符 (SP)。2.4 节描述了何时应用百分比编码和解码。

  pct-encoded = "%" HEXDIG HEXDIG

大写十六进制数字“A”到“F”分别等效于小写数字“a”到“f”。如果两个 URI 仅在百分比编码的八位字节中使用的十六进制数字不同,则它们是等价的。为了保持一致性,URI 生产者和规范化者应该对所有百分比编码使用大写的十六进制数字。

于 2013-06-14T12:11:04.293 回答