我想格式化将插入文本区域的文本。
文本将具有类似的结构(我注意到* - *空行。):
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>
答案 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
。