Я пишу сценарий 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>';
$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;
Других решений пока нет …