php文本格式化为凌乱的文本

时间:2015-04-06 12:10:20

标签: php str-replace

我想格式化文字,但我不知道该怎么做。

我有文字:

Row1
Row2
Title
text   _    text


text   _    text
Row1
Row2
Title
text   _    text


text   _    text

我想在

中修改它
Title
text : text
text : text

Title
text : text
text : text

我想删除Row1和2,但仍然是上面的空行。

删除文本和文本之间空行的两行

转换_ in :

我尝试使用str_replace和preg_replace,但我不知道该怎么做。

    <?php
        if(isset($_POST["submit"])) {
            $text = $_POST["text-ed"];
            $change = '  _   ';
            $change_r = ' : ';
            $remove_line = array("\n", "\r");

$rezult  = preg_replace('/[\n\r]+/', '', $text);
$rezult  = str_replace(array($remove_line, $change), array('', $change_r), $text);
            }
    ?>

1 个答案:

答案 0 :(得分:1)

尝试使用此代码:

<?php 

$text = "Row1
Row2
Title
text   _    text


text   _    text
Row1
Row2
Title
text   _    text


text   _    text";

var_dump($text);


// Delete rows
$text = str_replace(array("Row1","Row2"), "", $text); 
// Replace the underscore
$text = str_replace("_", ":", $text); 
// Replace all duplicate space
$text = preg_replace('/ +/', ' ',$text); 
// Replace all duplicate newlines
$text = preg_replace('/(?:(?:\r\n|\r|\n)\s*){2}/s', "\n", $text); 

var_dump($text);
?>

结果:

string(103) "Row1
Row2
Title
text   _    text


text   _    text
Row1
Row2
Title
text   _    text


text   _    text"


string(60) "
Title
text : text
text : text
Title
text : text
text : text"