Как сделать форматирование текста в переполнении стека

Я хочу сделать текстовое форматирование курсивом моих данных, который отражен от базы данных. В моей базе данных синонимы поля имеют более одного имени, и я получаю все в одном эхо. Например, Calappa nucifera (L.) Kuntze, Cocos Indica Royle хранятся в моем БД. Для этой зоны я заменяю ‘,’ на ‘новая строка’ и затем эхо. Я хочу показать:

Calappa nucifera (Л.) Кунце

Cocos Indica Royle

Но мой код показывает:

Calappa nucifera (L.) Кунце

Cocos Indica Royle

Мой код ниже:

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

0

Решение

Если вы используете встроенный стиль в своем коде, у вас только жирный шрифт, а не курсив

затем получите первые два слова и в правильном теге span со шрифтовым стилем: курсив;

$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>'  ;
1

Другие решения

Я не уверен, если вы спрашиваете о каком-то обработчике 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

0

По вопросам рекламы [email protected]