歡迎指正。GitHub 地址:https://github.com/jxlwqq/chinese-typesettingphp
統一中文文案、排版的相關用法,下降團隊成員之間的溝通成本,加強網站氣質。html
使用 composer 安裝:git
composer require "jxlwqq/chinese-typesetting"
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); $text = '今天,我在Apple Store上購買了一臺13英寸MacBook Pro筆記本電腦,花費了14188元。'; $chineseTypesetting->insertSpace($text); // 今天,我在 Apple Store 上購買了一臺 13 英寸 MacBook Pro 筆記本電腦,花費了 14188 元。。 $text = 'α碳原子爲與有機物中與官能團相連的第一個碳原子,第二個爲β碳原子,以此類推。'; $chineseTypesetting->insertSpace($text); // α 碳原子爲與有機物中與官能團相連的第一個碳原子,第二個爲 β 碳原子,以此類推。
在中文與英文字母/用於數學、科學和工程的希臘字母/數字之間添加空格。 參考依據:中文文案排版指北:空格github
目前,比較主流的約定是在中文與英文之間添加空格。我在此基礎上,增長了對用於數學、科學和工程的希臘字母的支持。bash
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); $text = '這個名爲 ABC 的蛋糕只賣 1000 元。'; $chineseTypesetting->full2Half($text); // 這個名爲 ABC 的蛋糕只賣 1000 元。
有限度的全角轉半角(英文、數字、空格以及一些特殊字符等使用半角字符)。參考依據:中文文案排版指北:全角和半角composer
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); // 清除 Class 屬性 $text = '<p class="class-name">Hello World!</p>'; $chineseTypesetting->removeClass($text); // <p>Hello World!</p> // 清除 ID 屬性 $text = '<p id="id-name">Hello World!</p>'; $chineseTypesetting->removeId($text); // <p>Hello World!</p> // 清除 Style 屬性 $text = '<p style="color: #FFFFFF;">Hello World!</p>'; $chineseTypesetting->removeStyle($text); // <p>Hello World!</p>
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); // 清除空的段落標籤 $text = '<p>Hello World!</p><p></p>'; $chineseTypesetting->removeEmptyParagraph($text); // <p>Hello World!</p>
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); // 清除全部空的標籤 $text = '<p>Hello World!<span></span></p>'; $chineseTypesetting->removeEmptyTag($text); // <p>Hello World!</p>
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); // 清除段首縮進 $text = '<p> Hello World!</p>'; $chineseTypesetting->removeIndent($text); // <p>Hello World!</p>
首行是否縮進,爭議較大,我的傾向於段首空兩格,會破壞美感的觀點。ide
use Jxlwqq\ChineseTypesetting\ChineseTypesetting; $chineseTypesetting = new ChineseTypesetting(); // 使用所有方法來糾正排版 $text = '<p class="class-name" style="color: #FFFFFF;"> Hello世界。</p>'; $chineseTypesetting->correct($text); // <p>Hello 世界。</p> // 使用指定方法來糾正排版 $text = '<p class="class-name" style="color: #FFFFFF;"> Hello世界。</p>'; $chineseTypesetting->correct($text, ['insertSpace', 'removeClass']); // <p style="color: #FFFFFF;">Hello 世界。</p>