1

我无法获取参数$_GET值包含字符:'#'。

我有以下代码:

<iframe src="http://localhost/wp352/wp-content/plugins/heloworld/templates/options-rte.php?text_content=<span style="color: #ff0000;">Empty content.</span>">

当我更改或消除字符时:'#' 一切正常。例如:

<iframe src="http://localhost/wp352/wp-content/plugins/heloworld/templates/options-rte.php?text_content=<span style="color: ff0000;">Empty content.</span>">

如何获得完整的参数 (text_content) 值?

注意:我在PHP中测试获取这个参数/值$_GET['text_content']

谢谢

4

3 回答 3

4

您需要对通过 GET 请求传入的任何字符串进行 urlencode(),并在从 $_GET 获取它们后对它们进行 urldecode()。

http://www.php.net/manual/en/function.urlencode.php

字符串中的引号也会引起问题。为您的顶级 iframe 试试这个:

<iframe src="http://localhost/wp352/wp-content/plugins/heloworld/templates/options-rte.php?text_content=%3Cspan%20style%3D%22color%3A%20%23ff0000%3B%22%3EEmpty%20content.%3C%2Fspan%3E">
于 2013-09-11T03:32:33.023 回答
0

您需要使用 url_encode 函数,因为后面的任何内容都#不会被视为 URL 的一部分(浏览器不会将该部分发送到服务器)。

于 2013-09-11T03:32:26.230 回答
0

在将它发送到您的php脚本进行处理之前,您应该真正使用urlencode,然后使用urldecode正常输出它。

也许尝试:

<iframe src="<?php urlencode('http://localhost/wp352/wp-content/plugins/heloworld/templates/options-rte.php?text_content=<span style="color: #ff0000;">Empty content.</span>'); ?>">

获取它:

urldecode($_GET['text_content']);
于 2013-09-11T03:35:29.617 回答