【问题标题】:Remove HTML tags from txt file从 txt 文件中删除 HTML 标签
【发布时间】:2013-09-30 08:46:54
【问题描述】:

我在一个非常特殊的情况下使用了一个非常基本的 CMS 系统:没有使用数据库,只有一个带有 .txt 文件的文件夹,PHP 直接在那里发布来自文本区域的所有文本。这是我用来执行此操作的代码:

$text1 = "../conteudos/start/text1.txt";
if (isset($_POST['body1'])) {
    $newData = nl2br(htmlspecialchars($_POST['body1']));
    $handle = fopen($text1, "w");
    fwrite($handle, $newData);
    fclose($handle);
}
// ------------------------------------------------
if (file_exists($text1)) {

    $myData1 = file_get_contents($text1);
}

并显示它:

$text1 = "conteudos/start/text1.txt";
if (file_exists($text1)) {

    $myData1 = file_get_contents($text1);
}

一切都很好,但是当我安装 CKeditdor 时,html 标签到处都是……我该如何取出它们?

提前致谢!

【问题讨论】:

    标签: php html content-management-system ckeditor


    【解决方案1】:

    使用strip_tags() 删除 HTML 标签:

    http://php.net/manual/en/function.strip-tags.php

    $myData = file_get_contents($text1);
    $myData = strip_tags($myData);
    

    另外,在保存文件时,您不应该使用htmlspecialchars(),因为这会将 等字符编码为& gt;。和<

    我建议删除此行。

    【讨论】:

    • 不错的尝试,但它不起作用......我没有遇到这个问题,但如果我使用数据库(过去的经验),想知道是不是因为我使用的是 txt 文件......
    • 从哪里得到它应该没有什么区别。它适用于字符串。我刚刚注意到,当您将数据保存到您正在执行的文件中时,htmlspecialchars() 会将 HTML 标记字符(即 )编码为 >和 <这意味着当您从文件中读取时,这些标签实际上并不存在,因此 strip_tags() 基本上什么都不做。尝试删除htmlspecialchars()
    • 不...仍然无法工作...不敢相信我将不得不为如此简单的系统制作数据库...无论如何感谢您的帮助!
    • 现在实际发生了什么?您不需要,数据库只是存储数据的另一种方式。不过由你决定。
    • 什么都没有发生,这就是问题所在...我确实像您说的那样删除了 htmlspecialchars()...
    猜你喜欢
    • 2013-11-21
    • 1970-01-01
    • 2017-04-14
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多