Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php tinymce破坏了我的布局_Php_Html - Fatal编程技术网

Php tinymce破坏了我的布局

Php tinymce破坏了我的布局,php,html,Php,Html,我在我的网站上使用tinymce作为文本编辑器。 有时,当我写一些文本并保存它时,html代码是“坏的”。 似乎有一些未关闭的html标记破坏了css布局。这就是我们找到的解决方案 是否有其他技术(php)可以自动完成未关闭的标记?Tidy是您的最佳选择。任何自定义解决方案(例如使用正则表达式)都比tidy的设计更糟糕 但真正的问题是,TinyMCE正在创建未关闭的标记,听起来TinyMCE安装有问题-您确定使用的是最新版本(3.3.9.2)吗?只有手动操作HTML源时,它才应该输出未关闭的标记

我在我的网站上使用tinymce作为文本编辑器。 有时,当我写一些文本并保存它时,html代码是“坏的”。 似乎有一些未关闭的html标记破坏了css布局。这就是我们找到的解决方案


是否有其他技术(php)可以自动完成未关闭的标记?

Tidy是您的最佳选择。任何自定义解决方案(例如使用正则表达式)都比tidy的设计更糟糕


但真正的问题是,TinyMCE正在创建未关闭的标记,听起来TinyMCE安装有问题-您确定使用的是最新版本(3.3.9.2)吗?只有手动操作HTML源时,它才应该输出未关闭的标记。

如果不能使用Tidy,则可以利用DOM清除未关闭和嵌套不好的标记。下面将用html和body容器标记包装固定标记,但您可以通过快速
preg\u replace
str\u replace
轻松处理这些标记

error_reporting(0);
header('Content-type: text/plain');

$html = '<p>Some <strong><em>badly</strong> formatted content</p>';

$xml = '<?xml version="1.0" encoding="utf-8" ?>' . $html;

$dom = new DomDocument();
$valid = $dom->loadXML($xml);

if (false === $valid) {
    $doc = new DOMDocument();
    $doc->encoding = 'UTF-8';

    $doc->loadHTML($xml);
    $html = simplexml_import_dom($doc)->asXML();
}

echo $html;
错误报告(0);
标题(“内容类型:文本/普通”);
$html='一些格式不好的内容格式不好的内容

'; $xml=''$html; $dom=新的DomDocument(); $valid=$dom->loadXML($xml); 如果(false==$valid){ $doc=新的DOMDocument(); $doc->encoding='UTF-8'; $doc->loadHTML($xml); $html=simplexml\u import\u dom($doc)->asXML(); } echo$html;