我对网络上的微排版问题很感兴趣。
我想要一个工具来解决:
- 引号
- “(“)开头引号(而不是“)
- ”(”)结束引号(而不是“)
- 撇号
- ’(’)撇号(而不是')
- 破折号和连字符
- –(–或–)短划线,用于范围,例如“11月13日至15日”(而不是-)
- —(—或—)长划线,用于思路转变,例如“众所周知,星球大战是——惊人的。”(而不是-或--)
- 省略号
- …(…或…)水平省略号,用于表示省略或暂停(而不是...)
- 还有更多 \o/
There are many constraints for such a tool:
- it must not edit any HTML inside protected tags (pre, code...) - it must be fast (used on a CMS output) - it must not break the HTML - and so on.
There already are some tools on the market:
- http://michelf.ca/projects/php-smartypants/typographer/
- http://kingdesk.com/projects/php-typography/
- http://code.google.com/p/typogrify/
那么我的问题是:
- 您是否知道类似于此的任何体面工具?
- 我该如何做呢?我已经有一个使用DomCrawler的POC,但我不确定。在PHP中解析和编辑HTML的最佳方法是什么?
2013年7月更新: 我从这个问题中获得的测试和专业知识,开发了JoliTypo。没有现有的库能够满足我的需求。