我想使用RegEx刪除不必要的ZWNJ,目前我在任何情況下硬編碼了一些不需要ZWNJ的字符,但是如何將它擴展爲所有這些字符呢?刪除不必要的ZWNJ
preg_replace('#(?<=[ادذرزژوآأإءa-zA-Z])\x{u200C}#u', '', $parsi);
當ZWNJ放置,否則將被 連接成一個連字兩個字符之間,一個ZWNJ分別使它們在它們的 最終和初始形式被印刷。這也是 空格字符的效果,但是在需要將 單詞靠得更近時使用ZWNJ。
如果我們需要限制問題阿拉伯文字是沒有任何正則表達式元字符來表示沒有中間形式(等不需要後續ZWNJ)的信嗎?
說真的,我們不需要每個控制字符的標籤。請不要將標籤放回去。 – BoltClock
對於[a-zA-Z]在任何情況下都不需要ZWNJ,你有錯。在德語中,複合名詞的連接邊界不會形成連字。例如,考慮德語單詞「Schifffahrt」(由「Schiff」+「fahrt」,意爲「乘船旅行」)。爲了正確的排版,你需要一個ZWNJ來防止「fff」連字的形成。更多示例:「Auflage」(「Auf」+「lage」),「Brotzeit」(「Brot」+「zeit」)。 –
@ R.MartinhoFernandes所以,你能說出哪些拉丁字母屬於RegEx嗎? – PHPst