从php中的数据中删除损坏的html标签

时间:2013-09-13 09:30:32

标签: php html preg-match

我正在开发php应用程序,我从不同来源获取随机文本,如(email,db ect)。现在我遇到了一个问题。我的文本包含破碎的HTML元素,如

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

。我尝试过strip_tags和一些preg匹配算法,但没有用。如果不完整,就像上面的div>标签一样,我如何删除HTML元素。我知道这个类型的问题早先问过,但我没有'我知道我该怎么做。谢谢你的帮助。

有关详细信息,我正在添加此Link。我正在抓取电子邮件,然后使用DOM获取特定部分的电子邮件。

3 个答案:

答案 0 :(得分:1)

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;

?>

答案 1 :(得分:0)

我是一名用户,我希望我的用户名为<span man

你实际上不知道文本何时应该被“纠正”,因为它是一个破坏的标签,或者它不是。

你应该对你的输入做些什么。你是从卷曲输出中得到这个文本的吗?但无论如何,正如我所说,只需检查你的阅读输入。

答案 2 :(得分:0)

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

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

之前已经提出过这个问题,请参阅此链接以获取代码(答案)

Remove HTML Entity if Incomplete