从 PHP 中的数据中删除损坏的 html 标记


Remove broken html tags from data in php

我正在开发php应用程序,在那里我从不同的来源获得了随机文本,例如(电子邮件,db等)。现在我面临一个问题.我有包含损坏的 HTML 元素的文本,例如

$purl  ='FTP details are as 
follow:User name : Mahmud
div>password :1234556Than
ks ';

.我尝试了strip_tags和一些与算法匹配的预制,但没有奏效。如果 HTML 元素不完整,我该如何删除它,如上面的 div> 标记。我知道之前问过的这种类型的问题,但我不知道该怎么做。感谢您的任何帮助。

有关更多详细信息,我正在

添加此链接.我正在获取电子邮件,然后使用 DOM 获取电子邮件的特定部分。

http://php.net/manual/en/tidy.parsestring.php

<?php
ob_start();
?>
<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <p>error<br>another line</i>
    </body>
</html>
<?php
$buffer = ob_get_clean();
$config = array('indent' => TRUE,
        'output-xhtml' => TRUE,
        'wrap' => 200);
$tidy = tidy_parse_string($buffer, $config, 'UTF8');
$tidy->cleanRepair();
echo $tidy;
?>

我是用户,我希望我的用户名<span man怎么样?

您实际上无法知道何时应该"更正"文本,因为它是一个损坏的标签,或者什么时候不是。

你应该对你的输入做一些事情。您是否从卷曲输出中获取此文本?但无论如何,正如我所说,只需检查您的阅读输入即可。

您需要在 php 中安装和配置 HTML TIDY 有关此内容的详细信息,请参阅此链接

php.net/manual/en/book.tidy.php

并且这个问题之前已经问过了,请参考这个链接获取代码(答案)

如果不完整,则删除 HTML 实体