2011-04-26 77 views
1

我在我的網站上有一個評論框,我想要的是如果用戶寫入超過20個字符的輸入(任何字符)並且不在它們之間放置空間,那麼它應該在它。用於打破重複字符的正則表達式

像:「asdasdasdasdasdasdasdasd」

負擔:「asdasdasdasdasdasdas DASD」

我認爲它可以用繩子做比較,但我想正則表達式匹配它還是完整的解決方案。謝謝你的幫助。

回答

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. 
+0

好的是,但其不要打破這個: $ text =「ppppp_____asdas__ds_d__as___dasda__sdasd」; – 2011-04-26 13:12:15

1

功能wordwrap完成這個工作很好。但這裏是一個基於正則表達式的解決方案:

$str = "asdasdasdasdasdasdasdasd"; 
$str = preg_replace('/(.{20})/','$1 ',$str); 

這將使添加即使輸入是大小20的空間,如果你不希望使用:

$str = preg_replace('/(.{20})(?=.)/','$1 ',$str);