我制作了一个描述系统,但所有不起作用的是我的“搜索和删除不需要的标签” - 系统......这是代码:
$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}之间的区别(不允许)。
答案 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...
}