3

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

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

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

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

4

3 回答 3

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;

?>
于 2013-09-13T09:59:13.487 回答
0

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

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

而这个问题之前也有人问过,代码参考这个链接(答案)

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

于 2013-09-13T09:39:18.203 回答
0

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

您实际上无法知道何时应该“更正”文本,因为它的标签已损坏,或者何时没有。

你应该对你的输入做点什么。您是否从 curl 输出中获取此文本?但无论如何,正如我所说,只需检查您的阅读输入。

于 2013-09-13T09:34:29.490 回答