标签: tidy

配置和使用HTML整洁

我想使用Textmate的内置Tidy(Ctrl + Shift + H)功能来缩进我的HTML'而不修改代码中的任何内容.我已经写了非常简洁的HTML,我只需要Tidy用Soft-tabs缩进我的代码.

目前它打破了很多东西,格式也不完美.有人可以为我写一个Tidy配置,这样做:

1 - 仅限缩进,没有别的.

2 - 我不需要在换行符上推送某些标签.例如:Tidy这样做:

<li>
  <a href="#">link</a>
</li>
Run Code Online (Sandbox Code Playgroud)

原始代码(或我需要的):

<li><a href="#">link</a></li>
Run Code Online (Sandbox Code Playgroud)

..如果我可以预先定义哪些标签保持内联,那就太好了.

基本上,我想用Tidy复制Dreamweaver的HTML格式化功能,但上面提到的两件事非常重要.

我认为这是我目前的(默认?)Tidy配置:

${TM_TIDY:-tidy}" -f /tmp/tm_tidy_errors -iq -utf8 \
      -wrap 0 --tab-size $TM_TAB_SIZE --indent-spaces $TM_TAB_SIZE \
    --indent yes \
      ${TM_XHTML:+-asxhtml --output-xhtml yes} \
      ${TM_SELECTED_TEXT:+--show-body-only yes} \
      --enclose-text yes \
      --doctype strict \
    --wrap-php no \
      --tidy-mark no`
Run Code Online (Sandbox Code Playgroud)

我非常感谢任何帮助.谢谢!

html textmate tidy

5
推荐指数
2
解决办法
5787
查看次数

如何让xdmp:tidy()整理HTML5?

使用属于HTML5的新doctype和元素,您如何xdmp:tidy()识别HTML5中的那些?

如果我有一个包含以下内容的html页面:

<!DOCTYPE html>
<html>
    <header>blah</header>
    <section>blah</section>
Run Code Online (Sandbox Code Playgroud)

然后尝试类似的东西: xdmp:tidy(xdmp:document-get("home.html"))

我得到的错误如下:

<section> is not recognized! discarding unexpected <section>
<header> is not recognized! discarding unexpected <header>
Run Code Online (Sandbox Code Playgroud)

我可以发送一些选项xdmp:tidy()让它来处理它吗?

tidy marklogic

5
推荐指数
1
解决办法
1444
查看次数

JTidy Node.findBody() - 如何使用?

我正在尝试用JTidy进行XHTML DOM解析,这似乎是违反直觉的任务.特别是,有一种解析HTML的方法:

Node Tidy.parse(Reader, Writer)
Run Code Online (Sandbox Code Playgroud)

为了获得该节点的<body />,我认为,我应该使用

Node Node.findBody(TagTable)
Run Code Online (Sandbox Code Playgroud)

我应该在哪里获得该TagTable的实例?(构造函数受到保护,我还没有找到工厂来生产它.)

我使用JTidy 8.0-SNAPSHOT.

java xml xhtml tidy jtidy

4
推荐指数
1
解决办法
2910
查看次数

美丽的汤和uTidy

我想将utidy的结果传递给Beautiful Soup,ala:

page = urllib2.urlopen(url)
options = dict(output_xhtml=1,add_xml_decl=0,indent=1,tidy_mark=0)
cleaned_html = tidy.parseString(page.read(), **options)
soup = BeautifulSoup(cleaned_html)
Run Code Online (Sandbox Code Playgroud)

运行时,会出现以下错误:

Traceback (most recent call last):
  File "soup.py", line 34, in <module>
    soup = BeautifulSoup(cleaned_html)
  File "/var/lib/python-support/python2.6/BeautifulSoup.py", line 1499, in __init__
    BeautifulStoneSoup.__init__(self, *args, **kwargs)
  File "/var/lib/python-support/python2.6/BeautifulSoup.py", line 1230, in __init__
    self._feed(isHTML=isHTML)
  File "/var/lib/python-support/python2.6/BeautifulSoup.py", line 1245, in _feed
    smartQuotesTo=self.smartQuotesTo, isHTML=isHTML)
  File "/var/lib/python-support/python2.6/BeautifulSoup.py", line 1751, in __init__
    self._detectEncoding(markup, isHTML)
  File "/var/lib/python-support/python2.6/BeautifulSoup.py", line 1899, in _detectEncoding
    xml_encoding_match = re.compile(xml_encoding_re).match(xml_data)
TypeError: expected string or buffer …
Run Code Online (Sandbox Code Playgroud)

python screen-scraping tidy beautifulsoup

4
推荐指数
1
解决办法
3502
查看次数

如何最好地使用带有Spring servlet容器的JTidy?

我有一个使用Spring Framework的Java servlet容器.使用Spring从JSP生成页面以连接所有内容.发送给用户的结果HTML并不像我想的那样整洁.我想在将HTML发送到客户端浏览器之前将其发送到Tidy.

我将它设置为开发工作并在生产中关闭; 从我的角度来看,这是一个胜利者,因为它会让我更容易维护.

关于如何在Spring中干净利落地工作的建议?

html java tidy spring-mvc jtidy

4
推荐指数
1
解决办法
1469
查看次数

JDBC和MySQL编码问题

我从RSS频道抓取数据,清理它并保存在数据库中.我使用java,tidy,MySQL和JDBC.

脚步:

  1. 我抓住了RSS记录.没关系.
  2. 我用整洁来消毒html.这是一个转变.Tidy自动将诸如"它不太可能"之类的字符串转换为"所以它不太可能".
  3. 我把这个字符串保存到表中

MySQL方案是

CREATE TABLE IF NOT EXISTS `rss_item_safe_texts` (
  `id` int(10) unsigned NOT NULL,
  `title` varchar(1000) NOT NULL,
  `link` varchar(255) NOT NULL,
  `description` mediumtext NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

JDBC连接URL是

connUrl = "jdbc:mysql://" + host + "/" + database + "?user=" + username + "&password=" + password + "&useUnicode=true&characterEncoding=UTF-8";
Run Code Online (Sandbox Code Playgroud)

Java代码是

PreparedStatement updateSafeTextSt = conn.prepareStatement("UPDATE `rss_item_safe_texts` SET `title` = ?, `link` = ?, `description` = ? WHERE `id` = ?");
updateSafeTextSt.setString(1, EscapingUtils.escapeXssInjection(title));
updateSafeTextSt.setString(2, …
Run Code Online (Sandbox Code Playgroud)

java mysql encoding jdbc tidy

4
推荐指数
1
解决办法
1618
查看次数

正则表达式从字符串中删除xml声明

首先,我知道这是一个糟糕的解决方案,我不应该这样做.

背景:随意跳过


但是,我需要快速修复实时系统.我们目前有一个数据结构,通过一系列字符串构建器创建"xml"片段,将自身序列化为字符串.这是否是有效的XML我相当怀疑.在创建此xml之后,在通过消息队列发送之前,一些清理代码会在字符串中搜索xml声明的出现并将其删除.

这样做的方式(迭代每个执行indexOf的字符<?xml)是如此之慢,导致线程超时并杀死我们的系统.最终我会尝试正确地修复它(使用xml文档或类似的东西构建xml)但是今天我需要快速修复以替换那里的内容.

请记住,我知道这是一个远非理想的解决方案,但我需要快速修复以使我们恢复正常运行.


我想用正则表达式来查找声明.我正在计划:<\?xml.*?>然后使用Regex.Replace(input, string.empty)删除.

如果这个正则表达式有任何明显的问题,或者是否只是在代码中使用string.IndexOf("<?xml")string.IndexOf("?>")(在更加理智的情况下)循环中编写它是更好的,你能告诉我吗?

编辑 我需要处理换行.

会:<\?xml[^>]*?>做的伎俩?

干杯!

EDIT2

谢谢您的帮助.正则表达式<\?xml.*?\?>很好.我最后编写了一些时序代码,并使用argex和IndexOf().我发现,对于我们最简单的用例,只需要声明剥离:

  • 差不多一秒钟
  • 正则表达式的.01秒
  • 使用循环和不可估量 IndexOf()

所以我去了,IndexOf()因为它很容易一个非常简单的循环.

干杯全都.

c# regex xml tidy

4
推荐指数
1
解决办法
9540
查看次数

PHP Tidy删除有效标签

我正在使用php扩展名tidy-html来清理php输出.我知道整理删除无效标签,甚至无法处理HTML5 doctype,但我使用的标签<menu>曾经是HTML规范.但是,它<ul>无论如何都会改变.

奇怪的是,它没有这样做之前.我改变了整洁的配置,它已经休息了.现在我已经关闭了所有与标签混淆的选项,但它没有帮助.

我的脚本很冗长:

$tidy_config = array(
    'char-encoding' => 'utf8',
    'output-encoding' => 'utf8',
    'output-html' => true,
    'numeric-entities' => false,
    'ascii-chars' => false,
    'doctype' => 'loose',
    'clean' => false,
    'bare' => false,
    'fix-uri' => true,
    'indent' => true,
    'indent-spaces' => 2,
    'tab-size' => 2,
    'wrap-attributes' => true,
    'wrap' => 0,
    'indent-attributes' => true,
    'join-classes' => false,
    'join-styles' => false,
    'fix-bad-comments' => true,
    'fix-backslash' => true,
    'replace-color' => false,
    'wrap-asp' => false,
    'wrap-jste' => false,
    'wrap-php' …
Run Code Online (Sandbox Code Playgroud)

html php html5 tidy

4
推荐指数
2
解决办法
7663
查看次数

PHP DOM将HTML附加到现有文档而不使用DOMDocumentFragment :: appendXML

我需要将一些任意HTML加载到现有DOMDocument树中.以前的答案建议使用DOMDocumentFragment及其appendXML方法来处理这个问题.

正如@Owlvark在评论中指出的那样,xml不是html,因此这不是一个好的解决方案.

我遇到的主要问题是像这样的实体&ndash导致错误,因为该appendXML方法需要格式良好的XML.

我们可以定义实体,但这并不能解决并非所有html都是有效的xml的问题.

将HTML导入DOMDocument树中的好方法是什么?

php tidy domdocument

4
推荐指数
1
解决办法
2656
查看次数

如何使用html整理意识到离子标签?

我正在尝试用vim编辑一个离子应用程序,它使用html整理启用了句法.不幸的是,我遇到了一大堆错误.

如何让html整洁地识别离子标签,或者失败使它忽略它们,这样我就不会收到这样的错误:

www/index.html|26 col 5 error| <ion-pane> is not recognized!
...
www/index.html|24 col 3 warning| <body> proprietary attribute "ng-app"
Run Code Online (Sandbox Code Playgroud)

vim tidy syntastic ionic-framework

4
推荐指数
1
解决办法
1097
查看次数