我刚刚删除了我的问题,因为我认为它是重复的: Strip Tags and everything in between 但是:那里给出的选项只是“隐藏”标签。检查源代码时,标签仍然存在。
当我查看代码的来源时,我的备忘录会在。
中生成一个全新的HTML页面<td>Memo:</td><td><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8" /><title>
</title>
<style type="text/css">
.cs95E872D0{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.csEE99116A{color:#08343E;background-color:transparent;font-family:Arial; font-size:12pt; font-weight:normal; font-style:normal; }
</style>
</head>
<body>
<span><p class="cs95E872D0"><span class="csEE99116A">dubbel test hoi</span></p></span></body>
</html>
</td>
现在,我唯一想看到的是dubbel test hoi
中的<span><p class="cs95E872D0"><span class="csEE99116A">dubbel test hoi</span>
我确实看到了,但在源代码中它仍然看起来很糟糕。
我尝试了所有类型的功能,其中大多数都删除了一些东西但是留下了CSS IDS,有些只是“隐藏”它,所以它仍然可以在源代码中使用。
有什么建议吗?
我的输入文本是来自PHP表单的纯文本,然后它进入数据库并被发送到C#应用程序,该应用程序将文本转换为RTF。在我的“仪表板”的这个页面中,我请求文本(现在是RTF),并将RTF转换为HTML文本。
这是我将文本转换为HTML文本的代码:
private string ConvertToHtml(string value)
{
if (RtfTags.IsRtfContent(value))
{
using (RichEditDocumentServer richServer = new RichEditDocumentServer())
{
string htmlText = string.Empty;
richServer.RtfText = value;
CharacterProperties cp = richServer.Document.BeginUpdateCharacters(richServer.Document.Range);
cp.FontName = "Arial";
cp.FontSize = 12;
cp.ForeColor = System.Drawing.ColorTranslator.FromHtml("#08343e");
richServer.Document.EndUpdateCharacters(cp);
htmlText = richServer.HtmlText;
return htmlText;
}
}
else
{
return value;
}
}
答案 0 :(得分:3)
我在这里http://www.php.net/manual/en/function.strip-tags.php#17656找到了解决方法。 只需替换样式代码,然后使用strip_tags:
$htmlstring = preg_replace("'<style[^>]*>.*</style>'siU",'',$htmlstring);
echo strip_tags($htmlstring);