【问题标题】:Combine two textarea value with line breaks using PHP使用 PHP 将两个 textarea 值与换行符结合起来
【发布时间】:2016-06-21 13:11:43
【问题描述】:

我有两个不同的textarea,我想将它们都存储在一个带换行符的数据库字段中。如果我在表字段中存储一个 textarea 值,它的效果很好,但我需要在一个字段中存储两个 textarea 值。

示例:-

textaera 1)

Hello
text from textarea1

文本区域 2)

How are you?
its second textarea text

我需要的所有换行符以及两个 textarea 值之间的输出:-

Hello
text from textarea1
How are you?
its second textarea text

【问题讨论】:

  • 使用\r\n 表示换行符
  • $combined = $textarea1 . PHP_EOL . $textarea2; 如果要以 HTML 格式输出换行符,请使用 nl2br($combined)
  • 要以 HTML 格式输出,请使用:preg_replace("/\r\n/","<br />",$string);
  • 如果你想保留引用,最好在数据库端使用serialize(),然后在输出回浏览器时使用unserialize()implode()
  • 我可以使用 PHP_EOL 进行组合,但不能使用换行符显示值..

标签: php textarea core


【解决方案1】:

假设您的两个值都相应地进入变量$textarea1 and $textarea2。你可以这样做:-

$combine_data = $textarea1."\n".$textarea2;

$combine_data = $textarea1 . PHP_EOL . $textarea2; and use nl2br($combined) to show it again in text-area //@iainn suggestion

$combine_data = $textarea1 ."<br/>". $textarea2;

参考:-

add line break between 2 variables

【讨论】:

  • 我只有一个来自数据库的字段不像你的答案 $textarea1 和 $textarea2
  • 男人。首先从两个文本区域中获取值,然后根据第三个解决方案将它们连接起来,然后将其保存到数据库中。由于"&lt;br/&gt;",当您再次获取并将其显示到文本区域时,将自动显示换行符。
【解决方案2】:

如前所述,如果您希望能够单独检索块(以获得更大的灵活性)但将两者存储在一列中,您可以使用serialize()

存储数据:

$data = array('p1'=>$_POST['textarea1'], 'p2'=>$_POST['textarea2']);
$compress = serialize($data);
//insert value $compress into one column in your database

要调用数据:

// Get column from database 
$data = $row['db_column'];
$decompress = unserialize($data);
// Echo to browser using html break and End Of Line constant (for compatibility)
echo implode('<br />'.PHP_EOL,$decompress);

你也可以在反序列化后分别回显每个值:

echo  $decompress['p1'].'<br />'.PHP_EOL.
      $decompress['p2'].'<br />'.PHP_EOL;

通过这种方式,您可以调用各自块中的数据,这样,如果您稍后决定更改某些内容,您仍然拥有块中的所有原始数据。

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 2021-09-28
    • 2023-04-06
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2021-09-05
    相关资源
    最近更新 更多