标签剥离允许一些 html 标签 - Facebook-ish

发布于 2024-11-15 21:51:48 字数 156 浏览 3 评论 0原文

我正在做一些类似在本地应用程序中发布功能的事情,它确实工作正常,但缺乏验证,更不用说我所做的验证是一团糟。我正在使用 jQuery oEmbed。

我想要的是按原样打印非法的 html 标签并激活/执行(我不知道正确的术语)我允许的 html 标签。

有什么建议吗?

I am doing something like posting function in a local app it's working fine really but it lacks with validation and not to mention the validation I made was a mess. I'm using jQuery oEmbed.

What I wanted is to print the illegal html tag(s) as is and activate/perform(I don't know the right term) the html tags I have allowed.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

远昼 2024-11-22 21:51:48

这是我想出的最好的解决方案。

首先替换掉所有的<和>然后将 html 代码替换回允许的标签。

<?php

$original_str = "<html><b>test</b><strong>teste</strong></html>";
$allowed_tags = array("b", "strong");

$sans_tags = str_replace(array("<", ">"), array("<",">"), $original_str);

$regex = sprintf("~<(/)?(%s)>~", implode("|",$allowed_tags));
$with_allowed = preg_replace($regex, "<\\1\\2>", $sans_tags);

echo $with_allowed;
echo "\n";

结果:

guax@trantor:~$ php teste.php 
<html><b>test</b><strong>teste</strong></html>

请问​​有没有办法一次性全部更换。但它有效。

This is the best solution i came up.

First replaced all the < and > for html code then replaced back the allowed tags.

<?php

$original_str = "<html><b>test</b><strong>teste</strong></html>";
$allowed_tags = array("b", "strong");

$sans_tags = str_replace(array("<", ">"), array("<",">"), $original_str);

$regex = sprintf("~<(/)?(%s)>~", implode("|",$allowed_tags));
$with_allowed = preg_replace($regex, "<\\1\\2>", $sans_tags);

echo $with_allowed;
echo "\n";

Result:

guax@trantor:~$ php teste.php 
<html><b>test</b><strong>teste</strong></html>

I wonder if there's any solution for replacing all at once. But it works.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文