我的网站上有一个评论框,我想要的是如果用户写入超过20个字符的输入(任何字符)并且不在它们之间放置空格,那么它应该在它之间放置一个空格。
喜欢:“asdasdasdasdasdasdasdasd”
解析:“asdasdasdasdasdasdas dasd”
我认为可以通过字符串比较完成,但我希望正则表达式匹配它或完整的解决方案。谢谢你的帮助。
答案 0 :(得分:4)
它被称为自动换行。
http://php.net/manual/en/function.wordwrap.php
来自例子:
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, " ", true);
echo "$newtext\n";
?>
output:
A very long wooooooo ooooord.
答案 1 :(得分:1)
函数wordwrap
很好地完成了这项工作。但这是一个基于正则表达式的解决方案:
$str = "asdasdasdasdasdasdasdasd";
$str = preg_replace('/(.{20})/','$1 ',$str);
即使输入的大小为20,也会添加空格。如果您不想使用它:
$str = preg_replace('/(.{20})(?=.)/','$1 ',$str);