指定数量的空格后的换行符

时间:2010-12-21 21:27:26

标签: php html

我想知道如何计算第二个空格然后使用php返回到换行符,例如:

文字:“你好吗?” 变成

“怎么样 你呢?“

我怎么能用PHP做到这一点?

谢谢

6 个答案:

答案 0 :(得分:4)

这是一个使用strpos返回第N个指定字符位置的函数。

http://us2.php.net/manual/en/function.strpos.php#96576

找到该位置,然后执行substr_replace将\ n放在该位置。

答案 1 :(得分:4)

print preg_replace('/((:?\S+\s){2})/i', "\$1\r\n",  "How are you?" );

答案 2 :(得分:3)

function addNlToText($text) {
    $words = explode(' ', $text);
   $out = '';
   foreach ($words as $key => $value) {
       $out .= $value;
       if ($key % 2 === 0) {
           $out .= "\n";
       } else {
           $out .= ' ';
       }
   }
   return trim($out);
}

那很脏,但它会按照你的要求行事......

$text = 'Hello, how are you?';
addNlToText($text); // "Hello, how\nare you?"
$text = 'Hello';
addNlToText($text); // "Hello"
$text = 'Hello what is going on?';
addNlToText($text); // "Hello what\nis going\non?"

答案 3 :(得分:3)

我想知道你是不是喜欢wordwrap功能?

http://www.php.net/wordwrap

答案 4 :(得分:2)

试试这个:

<?php
$mystring = 'How are you?';
$findme   = ' ';
$pos = strpos($mystring, $findme);
$pos = strpos($mystring, $findme, $pos+1);
$mystring = substr_replace($mystring, '<br>', $pos, 0);
echo $mystring;
?>

答案 5 :(得分:1)

你可以用javascript来做,用javascript好吗?