如何从创建 URL 的表单输入中删除 HTML(或其他)

How to strip HTML (or other) from form input that creates URL

所以我有一个简单的表单,用于创建 URL - 然后在提交操作后将用户带到 URL - 这是代码:

<form method="get" class="searchform" action="/srch">
    <label for="s" class="assistive-text"><?php _e('Search'); ?>:</label>
    <input type="text" class="field" name="fwp_general_search" id="s" title="Search Field" placeholder="Enter Terms Here..." />
    <input type="submit" class="submit" id="searchsubmit" title="Search Button" value="Search" />
</form>

效果很好,按预期将用户带到 URL。

但是,为了防止某些漏洞,我希望能够去除任何 HTML 或其他可以插入到该文本字段中的标记。如何从该输入中删除标签?

取决于您将如何处理后端的输入。如果您将它与数据库一起使用,您应该研究准备好的语句以防止 SQL 注入,如果您还向用户显示输入,您将需要研究使用函数转义来保护输出比如htmlspecialchars(),strip_tags()之类的

PHP 也有帮助 url 验证的函数,例如 https://secure.php.net/manual/en/filter.filters.validate.php