我想阻止用户发布类似“aaaadfgdfgsdfdaaaadsfgsdfaaasdfgdfaaadfgsdfgaaaaaaaajahkhkkjhjaa…”的内容这不仅令人讨厌,而且当单词比div本身长时,肯定会破坏content div。
我找到了一个简洁的正则表达式,它解决了这个问题:
$thecontent = preg_replace(\'/\\w{40}(?=\\w)/\', "$0-", get_the_content());
这将在任何超过40个字符的单词中放置连字符,以便在必要时强制换行,并保持布局不受影响。
问题是,我只想在这个词是纯文本的时候使用这个词,但当它是一个url(或者可能是一个电子邮件地址)的时候肯定不会。
最终,像这样的url“http://www.aaaa.com/sdfsdfdfg/sdfsdsdfs/dsdsdfs.php?var1=dfsdfsdfvar2=sdfsdf&;var3=dsfsfds“应该保持原样,因为我相信它是由wordpress自动处理的(我尝试并创建了一个长url,它正确地显示在两行中,所以看起来还可以)。
使用上面的正则表达式,甚至url也会被处理,这是一个问题。
如何避免将该正则表达式应用于(电子邮件地址和)标准传输协议URL,如http、https、ftp、ftps?
PS:我尝试了一些客户端断字插件,但它们不符合我的需要。
谢谢你的帮助。