Заменить bbcode на HTML-теги

0

Я пишу сценарий ittle, который заменяет bbcodes на теги html корреспондентов. Оба bbcodes и html-теги хранятся в базе данных. Это мой фактический код для [b] [/b], но он не работает

function bbcode($matches)
{
$conn = mysqli_connect('127.0.0.1','root','','esame') or die("Connection failed: " . $conn->connect_error);
foreach ($matches as $match)
    {
    $query = mysqli_query($conn,"SELECT html FROM 'bbcode' WHERE bbcode='{$match}' ");
        while ($html = mysqli_fetch_array($query,MYSQLI_ASSOC))
        {
        return 'Html: '.$html['html'];
        }
    $conn->close();
    }
}

$regex = '/\[b\](.+)\[\/b\]/is';
echo '<br>'.preg_replace_callback($regex,"bbcode",$text).'<br>';
  • 0
    Это возвращает какую-то ошибку?
  • 0
    Нет, он просто возвращает входную строку, например [b] foo [/ b]
Показать ещё 1 комментарий
Теги:
replace
bbcode

1 ответ

0
$str = "[list=1]\n[*]Камиль [/*]\n[*]Хисматуллин [/*]\n[*]живет в Урюпинске [/*]\n[/list]"; 

$advanced_bbcode = array(
    '/(?si)\\[list=\\d+\\](.*?)\\[\\/list\\]/',
    '/(?si)\\[\\*\\](.*?)\\[\\/\\*\\]/'
);

$advanced_html = array(
    '<ol>$1</ol>',
    '<li>$1</li>'
);

$text = preg_replace($advanced_bbcode, $advanced_html, $str);
echo $text;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню