获取网站地址的字符串(部分文本)

Get string (part of text) of the website address

我正在尝试获取和写入作为搜索查询结果出现的自定义词。

这个例子中的单词是"test"(搜索单词test): http://www.mialias.net/?s=test&lang=es

我正在尝试将其放在 WordPress 页面上的文本中,如下所示:

<h2>Search results for:</h2><h3>test</h3>

知道如何获取它并用 PHP 编写吗?

你可以使用 request

<h2>Search results for:</h2><h3>test <?php echo $_REQUEST['s']; ?></h3>

两个答案在技术上都是正确的。在这两者中,$_GET 是最好的方法。

请不要这样做。

在您的输出中使用未经过滤的 $_GET['s'] 会在您的页面中创建一个几乎任何开发人员都可以利用的漏洞。他们需要做的就是在 URL 上传递一个正确制作的有效负载,然后你的页面就可以执行任意代码。使用 filter_var() 函数在显示之前清理字符串。

filter_var()

http://php.net/manual/en/function.filter-var.php

过滤器类型

http://php.net/manual/en/filter.filters.php

清理过滤器

http://php.net/manual/en/filter.filters.sanitize.php

代码如下:

<?php
$filterd_s = filter_var($_GET['s'],FILTER_SANITIZE_STRING);
?>
. . . Skipping stuff here . . . 
<h2>Search results for:</h2><h3>test <?php echo $filtered_s; ?></h3>

这将安全地显示变量。如果您的用户传递了一些不好的东西,您可能会看到一些奇怪的东西,但不会造成伤害。

HTH,

=C=