【问题标题】:Filtering contents of an HTML input element using a server-side script使用服务器端脚本过滤 HTML 输入元素的内容
【发布时间】:2011-03-22 15:31:24
【问题描述】:

这个 php 脚本删除所有 <a></a> 标签 当我单击表单的删除按钮时,我想将此 php 脚本放在 html 表单中,他们删除所有<a></a> 标签 请任何专家将此脚本转换为表单

<?php

$str = 'I would like <a href="http://www.google.com">google</a> this link.';
$filter = preg_replace("/<a(.*)<\/a>/iUs", "", $str);

print $filter;
?>

我想用这个表格

<form>
<textarea name="" style="width: 400px; height: 100px"></textarea>
<input type="button" value="Remove all <a></a>" onClick="">
</form>

【问题讨论】:

  • 不清楚你在这里问什么。您是否希望您的表单向 PHP 脚本发送请求,以便您可以剥离 &lt;a&gt;&lt;/a&gt; 标记并获得结果?
  • 令人难以置信的是,有些 SO 人对非英语母语人士没有耐心。让艾哈迈德在您开始投票、投票结束等之前的 30 分钟内做出回应 - 现在只有 10 分钟!!!现在有 3 个建议他需要查看,然后他也许可以为我们重新提出问题
  • @mplungjan,我猜他是因为愚蠢的 regex-html 模因而被否决的受害者。 (这有时就像在这里说耶和华。)
  • 为了准确性和可查找性,我重新命名了这个问题。
  • 我觉得标题应该是Filtering contents of an HTML input element using a client-side script based on a server-side script

标签: php javascript html xml


【解决方案1】:

你是说

<script type="javascript">
function removeAll(theForm) {
  var str = theForm.text.value;
  if (str) theForm.text.value = str.replace(/<a(.*)<\/a>/ig,"");
}
</script>
<form>
  <textarea name="text" style="width: 400px; height: 100px"></textarea>
  <input type="button" value="Remove all anchors" onclick="removeAll(this.form)" />
</form>

<script type="javascript">
function validate(theForm) {
  var str = theForm.text.value;
  if (str && str.match(/<a(.*)<\/a>/ig)) {
    alert('Please do not enter any links')
    theForm.text.focus();
    return false;
  }
  return true;
}
</script>
<form method="post" action="" onsubmit="return validate(this)">
  <textarea name="text" style="width: 400px; height: 100px"></textarea>
  <input type="submit" name="submit" value="Send to server" />
</form>

由于JS可以关闭,你仍然需要在服务器上测试

【讨论】:

    【解决方案2】:

    您似乎正在尝试使用正则表达式过滤 HTML。

    请不要。

    看看HTML Purifier,PHP 中一个全面的 HTML 过滤机制。使用它,您可以确保您的用户提交的 HTML 符合一组特定的准则,例如确保没有锚标记。

    【讨论】:

      猜你喜欢
      • 2016-06-15
      • 1970-01-01
      • 2013-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多