用 contenteditable div 的结构替换数据库中的值
Replace value from database with the structure of a contenteditable div
我正在 contenteditable div
上打印 mysql 字段的值,我需要它采用与之对应的结构。使用相同的 divs
和换行符 br
.
我试过php
的nl2br
功能,但它只会生成换行符br
,所以对我来说效果不佳。我需要完整的结构。
例如:
<div id="textbox" contenteditable="true"><?php echo nl2br($text); ?></div>
其中 $text
是来自数据库的带有换行符的文本 \n
。
所以在执行nl2br
的时候,全部改成br
。
我目前得到这个:
<div id="textbox" contenteditable="true">
Line 1
<br>
Line 2
<br>
<br>
Line 3
</div>
我需要得到这个:
<div id="textbox" contenteditable="true">
Line 1
<div>Line 2</div>
<div>
<br>
</div>
<div>Line 3</div>
</div>
这是在 contenteditable div
.
上书写时自动生成的内容
快速尝试您之后的内容,输出看起来不错,但请确保它适用于您的后续内容。
我们的想法是将文本分成几行 - 从第一行文本开始,然后在 <div>
标记中添加每个后续行 - 如果该行是空白 - 然后将其设置为<br />
...
$text = 'Line 1
Line 2
Line 3';
$lines = explode("\n",$text);
$output = array_shift($lines);
foreach ( $lines as $line ) {
$output .= "<div>".($line?:"<br />")."</div>";
}
echo $output;
上面的示例给出了...
Line 1<div>Line 2</div><div><br /></div><div>Line 3</div>
我正在 contenteditable div
上打印 mysql 字段的值,我需要它采用与之对应的结构。使用相同的 divs
和换行符 br
.
我试过php
的nl2br
功能,但它只会生成换行符br
,所以对我来说效果不佳。我需要完整的结构。
例如:
<div id="textbox" contenteditable="true"><?php echo nl2br($text); ?></div>
其中 $text
是来自数据库的带有换行符的文本 \n
。
所以在执行nl2br
的时候,全部改成br
。
我目前得到这个:
<div id="textbox" contenteditable="true">
Line 1
<br>
Line 2
<br>
<br>
Line 3
</div>
我需要得到这个:
<div id="textbox" contenteditable="true">
Line 1
<div>Line 2</div>
<div>
<br>
</div>
<div>Line 3</div>
</div>
这是在 contenteditable div
.
快速尝试您之后的内容,输出看起来不错,但请确保它适用于您的后续内容。
我们的想法是将文本分成几行 - 从第一行文本开始,然后在 <div>
标记中添加每个后续行 - 如果该行是空白 - 然后将其设置为<br />
...
$text = 'Line 1
Line 2
Line 3';
$lines = explode("\n",$text);
$output = array_shift($lines);
foreach ( $lines as $line ) {
$output .= "<div>".($line?:"<br />")."</div>";
}
echo $output;
上面的示例给出了...
Line 1<div>Line 2</div><div><br /></div><div>Line 3</div>