【问题标题】:Remove all content between <script type="JavaScript">abcd</script> tags删除 <script type="JavaScript">abcd</script> 标签之间的所有内容
【发布时间】:2011-03-22 21:25:05
【问题描述】:

我想删除&lt;script&gt;want to remove&lt;/script&gt;之间的所有东西或内容 我对 php 和 java 脚本的知识很少,所以请给我一个完整的代码我不知道如何使用 php 或 JavaScript 编码来删除&lt;tags&gt;&lt;/tags&gt;之间的内容@

我找到了这个框并复制到我的网站上,他们删除了所有标签,但我不想要这个,我只想删除标签之间的内容。 请任何人修改此框或脚本以删除 &lt;tags&gt;&lt;/tags&gt; 之间的内容或给我其他脚本。

<script type="text/javascript">

// Strip HTML Tags (form) script- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- http://www.javascriptkit.com/
// This notice must stay intact for use

function stripHTML(){
var re= /<\S[^><]*>/g
for (i=0; i<arguments.length; i++)
arguments[i].value=arguments[i].value.replace(re, "")
}

</script>

<form>

<textarea name="data1" style="width: 400px; height: 100px"></textarea><br />
<input type="button" value="Remove any HTML tags" onClick="stripHTML(this.form.data1)">
</form>

【问题讨论】:

  • 我是否理解正确,如果 textarea 'data1' 包含例如Hello &lt;tag&gt;thisisnotwanted&lt;/tag&gt; world! 应该在按钮点击后包含Hello &lt;tag&gt;&lt;/tag&gt; world!

标签: javascript html regex


【解决方案1】:

你可以试试: document.getElementsByTagName('script')[0].innerHTML = '';

【讨论】:

  • 客户的一面是黑暗的一面!
  • 永远不要低估客户端的力量。有时安全性不是问题,有时需要在客户端做所有事情。例如 - 运行后删除或更改代码。虽然 - 通常我原则上会同意你的看法,但在需要知道的基础上给出代码,优化,混淆和压缩。
  • 客户端有时也是only 端,例如Phonegap 移动应用程序。我在这样的应用程序中使用的东西是使用 JQuery 从下载的内容中清理脚本是var cleanHtml = $(dirtyHtml).html()
【解决方案2】:

根据您发布的代码块,您似乎想从表单元素(例如文本区域)的值中去除脚本标签。在客户端清理用户输入通常被认为是一个坏主意,因为这种安全措施很容易被绕过。更好的解决方案是从服务器端发布的数据中去除脚本标签。

这是一个php的例子:

$data = $_POST['fieldname'];

$outputData = strip_tags($data, array(/* here you can specify the allowed html tags, all others will be stripped */);

echo $output;

【讨论】:

    猜你喜欢
    • 2014-01-13
    • 2015-12-26
    • 2012-08-24
    • 2022-12-05
    • 1970-01-01
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2011-05-13
    相关资源
    最近更新 更多