使用php格式化文本

时间:2015-04-07 07:45:46

标签: php

我想格式化将插入文本区域的文本。

文本将具有类似的结构(我注意到* - *空行。):

Phone
*-*
02.03.2007 My phone is excellent.
*-*
*-*
Phone
02.06.2007 I want new phone.
....

如何删除一个空行,如下例所示?

Phone
02.03.2007 My phone is excellent.

Phone
02.06.2007 I want new phone.

我现在所拥有的代码

    <?php


        if(isset($_POST["submit"])) {
            $text = $_POST["text"];
            $text = .....
         }
    ?>

<form id="form1" name="form1" method="post" action="">

<input style="display:block;" type="submit" name="submit" id="submit" value="Submit" />

<textarea name="text" id="text" cols="45" rows="700">
</textarea>


<textarea name="result" id="result" cols="45" rows="700">
<?php echo $text; ?>
</textarea>
</form>

2 个答案:

答案 0 :(得分:0)

尝试使用preg_replace php函数

<textarea name="result" id="result" cols="45" rows="700">
    <?php echo preg_replace('/[^A-Za-z0-9\-]/', '', $text); ?>
</textarea>

答案 1 :(得分:0)

我不明白为什么其他答案在这种情况下使用正则表达式,str_replace将正常工作:

$text = str_replace("\r\n\r\n", "\r\n", $text);

Windows和Unix换行符不同,windows有额外的回车符(\r)。您可能还想查看PHP常量PHP_EOL