如何搜索html标签并将其删除

时间:2011-11-26 00:33:03

标签: php javascript html string tags

我制作了一个描述系统,但所有不起作用的是我的“搜索和删除不需要的标签” - 系统......这是代码:

$mystring = $description;
$findme   = '<';
$pos = strpos($mystring, $findme);
echo $pos;

if ($pos == false) {
    $user = mysql_query("SELECT * FROM members WHERE username='$myusername' AND password='$mypassword'");
    while($row=mysql_fetch_array($user)) {
        mysql_query("UPDATE members SET description = '$description' WHERE username = '$myusername' AND password = '$mypassword'");
        echo "<tr><td colspan='2'><span style='color:#0076c9;'>Your description has successfully been changed! Go back to your page to see the changes!</span></td></tr>";
    }
} else {
    echo "<tr><td colspan='2'><span style='color:#F00;'>Invalid input! Make sure that no other code than <br /> can be typed in!</span></td></tr>";
}

有没有可行的方法呢?我在YouTube上看过它,但太好了!谁知道怎么做?

哦,我也注意到我的函数只显示第一个标签的位置......并非所有标签都看不到<br />(允许)和{{1}之间的区别(不允许)。

3 个答案:

答案 0 :(得分:3)

如果要删除HTML标记并仅允许其中一些标记 你可以像这样使用strip_tags函数

strip_tags($text, '<br><a>');

这将返回您输入的文字$ text,除了<br> & <a>标签外没有任何标签 您可以阅读有关strip_tags Here

的更多信息

答案 1 :(得分:1)

使用内置的strip_tags - 函数。

  

string strip_tags(string $ str [,string $ allowable_tags])

示例:

$str = "<a href='http://google.com'>Here</a> we go<br />";
echo strip_tags($str, "<br>");

输出:“我们在这里&lt; br /&gt;”

答案 2 :(得分:0)

您需要添加更多标签,或者只需取出括号中的部分即可将其设为通用:

if(preg_match("/<(span|html|table).*?>/", $description)) {
    rejected...
}