PHP允许一些HTML标记,在屏幕上编写代码

PHP允许一些HTML标记,在屏幕上编写代码,php,Php,我想允许用户在文本中添加链接,并,因此我: $texto = nl2br($texto); $texto = strip_tags($texto, "<br><a><b><code>"); 这将允许用户输入如下内容: <b>Some</b> text <a href="/someurl">Link</a> and <code> <?php echo ""; ?> <

我想允许用户
在文本中添加链接,并
,因此我:

$texto = nl2br($texto);
$texto = strip_tags($texto, "<br><a><b><code>");
这将允许用户输入如下内容:

<b>Some</b> text <a href="/someurl">Link</a> and 
<code>
<?php 
echo ""; ?>
</code>
一些文本和

链接将是一个链接,粗体文本将是粗体。。。
问题在于
标记。我想允许用户放置javascript、html、
,我想您正在寻找。此函数将从代码中转义标记。因此,它们将被打印而不是解释

//编辑,因为我读了评论。
我没注意到你不想要领带。在这种情况下,您可以在匹配标记中用“<”(“>”)替换“”。

我想您正在寻找。此函数将从代码中转义标记。因此,它们将被打印而不是解释

//编辑,因为我读了评论。
我没注意到你不想要领带。在这种情况下,您可以在匹配的标记中将“”替换为“<”(“>”)。

当有人创建帖子时,我将允许其中的链接具有target\u self(默认)或空

$texto = htmlentities($texto);

$texto = str_replace('&lt;a href=&quot;', '<a href="', $texto);
$texto = str_replace('&quot; target=&quot;_blank&quot;&gt;', '" target="_blank">', $texto);

$texto = str_replace('&quot; target=&quot;_self&quot;&gt;', '">', $texto);

$texto = str_replace('&lt;/a&gt;', '</a>', $texto);
$texto=htmlentities($texto);
$texto=str_replace('a href=“”,“”,$texto);
我使用target知道何时关闭a href=“
”>


self将是默认链接。我将对b和code执行相同的操作。

当有人创建帖子时,我将允许其中的链接具有target\u self(默认)或空白

$texto = htmlentities($texto);

$texto = str_replace('&lt;a href=&quot;', '<a href="', $texto);
$texto = str_replace('&quot; target=&quot;_blank&quot;&gt;', '" target="_blank">', $texto);

$texto = str_replace('&quot; target=&quot;_self&quot;&gt;', '">', $texto);

$texto = str_replace('&lt;/a&gt;', '</a>', $texto);
$texto=htmlentities($texto);
$texto=str_replace('a href=“”,“”,$texto);
我使用target知道何时关闭a href=“
”>


self_uu将是默认链接。我将对b和代码执行相同的操作。

是的,我想执行stackoverflow之类的操作@KevinThe
@deceze类似于
htmlentities
就可以了,但是我想允许一些标记并转义其余的。您可以考虑使用类似的东西来完成此任务,PHP标准库中没有任何东西可以进行这种选择性转义。如果需要删除像
target
这样的属性,那么htmlpurifier将在这种特定情况下完成这项工作。但它确实比听起来更复杂:)是的,我想做一些类似stackoverflow的事情@KevinThe
@deceze类似于
htmlentities
就可以了,但是我想允许一些标记并转义其余的。您可以考虑使用类似的东西来完成此任务,PHP标准库中没有任何东西可以进行这种选择性转义。如果需要删除像
target
这样的属性,那么htmlpurifier将在这种特定情况下完成这项工作。但它确实比听起来更复杂:)阅读评论:“像
htmlentities
就可以了,但我想允许一些标记,并避开其余的”我错过了。在这种情况下,您可以在匹配标记中用“<”(“>”)替换“)。Regexp非常简单。@matek997谢谢你的回答。如果你能举一些例子就好了。。。我需要允许
并对其余部分使用htmlentities。阅读评论:“喜欢
htmlenties
就可以了,但我想允许一些标记并转义其余部分”我错过了。在这种情况下,您可以在匹配标记中用“<”(“>”)替换“)。Regexp非常简单。@matek997谢谢你的回答。如果你能举一些例子就好了。。。我需要允许
并对其余部分使用htmlentities。不适用于任何具有任何其他属性的标记(如“title”)@matek997是的,这不是完美的解决方案,仅适用于2种情况。默认链接必须有target _self才能工作。不适用于任何具有任何其他属性(如“title”)的标记@matek997是的,这不是完美的解决方案,仅适用于2种情况。默认链接必须有target\u self才能工作。