Мне нужно сделать следующее для моего сайта.
$comment = "[item]Infinity Edge[/item]<br>[item]Eggnog Health Potion[/item]";
$this->site->bbcode->postBBCode($comment);
Функция BBCode выглядит следующим образом:
function postBBCode($string)
{
$string = nl2br($string);
$string = strip_tags($string, '<br></br>');
$string = $this->tagItem($string);
return $string;
}
function tagItem($string)
{
//Get all values between [item] and [/item] values
//Appoint them to an array.
//foreach item_name in array, call convertItems($item_name) function.
//Now, each item_name in array will be replaced with whatever convertItems($item_name) function returns.
//return modified string
}
function convertItems($itemName)
{
// -- I already made this function, but let me explain what it does.
//Query the database with $itemName.
//Get item_image from database.
//Return '<img src="$row['item_image']></img>';
}
Хорошо, я уже задавала свои вопросы между функциями.Надеюсь, вы поняли, что я пытаюсь сделать.
По сути, все, что находится между тегами [item] и [/ item], будет преобразовано в изображение, но путь к изображению каждого элемента будет взят из базы данных.
У меня трудные времена - правильное получение значений между тегами [item] и [/ item].Он должен получать все найденные правильные совпадения, а не первое совпадение.