使用php代码在textarea中格式化文本

时间:2015-10-23 20:52:40

标签: php html forms

我有2个textareas。在第一个textarea中,用户添加了我需要修改的文本。在第二个textarea中显示修改后的文本。

我需要修改的文字格式如下:

23.10.15
Text1
Text2

我想把文字放在同一行。在第2行和第3行之间我想要" - "出现,像这样:

23.10.15 Text1 - Text2

我的代码如下所示:

if(isset($_POST["submit"])) {
 $text = $_POST["text-modify"];
 $text = str_replace('', '', $text);
}
    ?>

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

<input type="submit" name="submit" id="submit" value="Submit" />

<textarea name="text-modify" id="text-modify" cols="75" rows="7000">
</textarea>

<textarea name="text-final" id="text-final" cols="75" rows="7000">
<?php echo $text; ?>
</textarea>
</form>

提前谢谢。

2 个答案:

答案 0 :(得分:2)

在换行符上分解文本,弹出最后一项,用空格内爆,追加短划线和最后一块:

$pieces = explode("\n", $text);
$last = array_pop($pieces);
$text = implode(" ", $pieces) . " - " . $last;

更好的可能是:

$text = call_user_func_array('sprintf', array_merge(["%s %s - %s"], explode("\n", $text)); 

答案 1 :(得分:0)

你可以将你的php放在html中,使其更简单:

<textarea name="text-modify" id="text-modify" cols="75" rows="7000"><?php $yourVar ?></textarea>

或嵌入字符串

<textarea name="text-modify" id="text-modify" cols="75" rows="7000"><?php echo "Hi I am ". $nameVar ." How are you ? "</textarea>