如何在 php 中进行文本格式化

How to do text formatting in php

我想对从数据库回显的数据进行斜体文本格式化。在我的数据库中,同义词字段不止一个名字,我在一个回声中检索所有。例如 Calappa nucifera (L.) Kuntze , Cocos indica Royle 存储在我的数据库中。对于此重新分区,我将“,”替换为“新行”,然后回显。我要展示:

Calappa nucifera (L.) Kuntze

Cocos籼稻罗伊尔

但我的代码显示:

Calappa nucifera (L.) Kuntze

Cocos 籼稻罗伊尔

我的代码如下:

echo '<div style = "margin-left: 150px;">'.str_replace(',','<br />',$row["synonyms"]).'</div>'; 

如果您在代码中使用内联样式,则只有粗体而不是斜体

然后获取前两个单词并在适当的 span 标签中添加 font-style:italic;

$mySino = explode( ','),  $row["synonyms"]);

echo '<div style = "margin-left: 150px;">' ;
foreach ($mySino as $key => $myRow) {  

  $myValue= explode( ' ', $myRow,  3);

    echo  '<span style="font-style: italic;">' . 
           (isset($myValue[0]) ? $myValue[0] : '') .
       ' ' . (isset($myValue[1]) ? $myValue[1] : '' ) .
      '</span> ' .( isset($myValue[2]) ? $myValue[2] : '') . '<br />';
}

echo     '</div>'  ;

我不确定你是否在询问某种 BBCode 处理程序,

<?php
function parse($value) {
    $findAndReplace = [
        '[br]' => '<br>',
        '[i]' => '<i>',
        '[/i]' => '</i>',
        '[b]' => '<strong>',
        '[/b]' => '</strong>'
    ];

    return str_replace(array_keys($findAndReplace), array_values($findAndReplace), $value);
}

$str = '[b][i]Calappa nucifera[/i] (L.) Kuntze[br][br][i]Cocos indica[/i] Royle[/b]';

echo parse($str);

?>

输出

通过我建议使用 Parsedown