我正在寻找满足以下要求的HTML漂亮打印机的建议:
Notepad ++的HTML Tidy是否已损坏?除了Tidy(第一个)之外的所有命令都不起作用.即使选择了所有文本,它们也不会显示任何消息.我真的需要Tidy来工作,还是只是限制了最新版本的N ++,或者缺乏支持?
此外,每当我从颜色对话框中选择颜色时,自定义语法对话框都会冻结.在我单击其中一个粗体,斜体或下划线复选框之前,它仍然没有响应.这是一个错误吗?我如何解决它?
我使用PHP库生成XML,如下所示:
$dom = new DOMDocument("1.0","utf-8");
Run Code Online (Sandbox Code Playgroud)
执行上述操作会在页面中显示输出顶部的消息.
此页面包含以下错误:第274行第274505行的错误:PCDATA无效字符值27下面是第一个错误之前的页面呈现.
我尝试使用Tidy库进行纠正..使用iconv来获取UTF-8中的中文字符.
我在PHP中使用DOM扩展来构建一些HTML文档,我希望输出格式很好(使用新行和缩进),以便它可读,但是,我已经完成了很多测试:
如果有人知道不同,我真的很想知道他们是如何让它工作的.
所以,我有一个DOM文档,我正在使用saveHTML()来输出HTML.因为它来自DOM,我知道它是有效的,没有必要以任何方式"整理"或验证它.
我只是想找到一种从DOM扩展接收的输出中获得格式良好的输出的方法.
NB.正如您可能已经猜到的那样,我不想使用Tidy扩展作为a)它还需要它做更多(标记已经有效)和b)它实际上对HTML内容进行了更改(例如HTML 5 doctype和一些元素).
跟进:
好的,在下面的答案的帮助下,我已经找出了DOM扩展无法正常工作的原因.虽然给定的示例有效,但仍然无法使用我的代码.在这个评论的帮助下,我发现如果你有任何文本节点,其中isWhitespaceInElementContent()为true,那么除此之外不会应用格式化.无论preserveWhiteSpace是否为false,都会发生这种情况.解决方案是删除所有这些节点(虽然我不确定这是否会对实际内容产生负面影响).
我目前正在使用Vim作为轻量级IDE.我有NERDTree,bufexplorer,supertab和ctags插件,可以完成我想要的几乎所有操作.对我来说,唯一遗漏的是自动代码格式化.
我正在使用一些混乱的PHP代码,它具有不一致的缩进和代码格式,理想情况下我可以突出显示我想要格式化的代码(整个文件也可以)并运行命令来整理它.
在Vim工作的人有没有一个很好的解决方案?
我在我的应用程序中嵌入了HTML Tidy来清理传入的HTML.但是Tidy有很多错误,直接在源头修复它是我最糟糕的噩梦.整洁的源代码是一种难以理解的憎恶.千行功能,可变命名,意大利面条代码等等.这真的太可怕了.
更糟糕的是,官方发展似乎已经停止.在过去的12个月里,官方的CVS回购有三笔交易.但是它已经死了并埋葬的时间比这要长得多......
所以我正在寻找一个可以做Tidy所能做的OSS C或C++应用程序/库(感觉就好):修复错误的HTML标记并将其转换为有效的XHTML(这是我感兴趣的部分).我的意思是各种糟糕的标记.
那里有类似的东西吗?
编辑:我需要它来通过XML处理工具对DOM树进行操作,并且通常符合XHTML规范.我的应用程序需要接受来自用户的HTML(通常在各种方式都无效)并输出有效的XHTML.它需要能够处理通常不会在浏览器中显示的HTML,因为用户手动编辑它并且之后没有检查.
Tidy的纠错解析器的直接替代品......不会太糟糕.我不介意错误,如果源是可读的,我可以自己修复问题,或者是否有活跃的开发人员及时提供错误修正.
HTML Tidy有这种令人生气的习惯,即在结束标记之前添加换行符.例如:
<p>Some text</p>
Run Code Online (Sandbox Code Playgroud)
变
<p>Some text
</p>
Run Code Online (Sandbox Code Playgroud)
如何告诉Tidy将结束标记保持在与内容结尾相同的行?
顺便说一句,我通过Notepad ++运行Tidy,如果这有任何区别的话.
我有一个类生成一些html(表单元素和表元素),但这个类返回一行中的所有html.
所以我试图使用整洁来美化代码(缩进代码,放置换行符等),我遇到的唯一问题是也生成我不想要的标签.
这是代码:
tidy_parse_string(
$table->getHtml(),
array(
'DocType' => 'omit',
'indent' => true,
'indent-spaces' => 4,
'wrap' => 0
)
);
Run Code Online (Sandbox Code Playgroud)
我发现删除额外的html标签的唯一方法是添加一个str_replace,如下所示:
str_replace(array('<html>','</html>','<body>','</body>','<head>','</head>','<title>','</title>'),'', code);
Run Code Online (Sandbox Code Playgroud)
哪个有用,但我真的在跳,有一种方法可以告诉整洁只是美化代码而不是插入额外的代码.
我想当我的盒子上安装了php时 - 没有包含整齐的arg.
浏览我的php.ini行时:
;extension=php_tidy.dll
Run Code Online (Sandbox Code Playgroud)
不见了.
如何将模块添加到我的php安装?注意我尝试添加:
extension=php_tidy.dll
Run Code Online (Sandbox Code Playgroud)
但没有运气.
我检查了文档,但他们说的只是:
此扩展与PHP 5及更高版本捆绑在一起,并使用--with-tidy configure选项进行安装.
我正在使用在线练习教程中的数据集,代码可以在第 4 页的底部找到(https://tomhouslay.files.wordpress.com/2017/02/indivvar_mv_tutorial_asreml.pdf)
在本教程中,他们使用下面列出的代码使该函数正常工作,但在我的 R 会话中,我收到一条错误消息:
Run Code Online (Sandbox Code Playgroud)No tidy method for objects of class lmerMod.
我尝试过使用“parsnip”包并重新启动我的 R 会话,并且我尝试过按照类似问题的其他答案中的建议要求扫帚。
哈吉斯练习 csv 文件可以从这里下载:https://figshare.com/articles/Haggis_data_behavioural_syndromes/4702540
library(asreml)
library(nadiv)
library(tidytext)
library(tidyverse)
library(broom)
require(broom)
library(lme4)
library(data.table)
library(parsnip)
HData<- read_csv("haggis practice.csv")
lmer_b <- lmer(boldness ~ scale(assay_rep, scale=FALSE) +
scale(body_size) +
(1|ID),
data = HData)
plot(lmer_b)
qqnorm(residuals(lmer_b))
hist(residuals(lmer_b))
summary(lmer_b)
rep_bold <- tidy(lmer_b, effects = "ran_pars", scales = "vcov") %>%
select(group, estimate) %>%
spread(group, estimate) %>%
mutate(repeatability = ID/(ID + Residual))
Run Code Online (Sandbox Code Playgroud)