|
|
|
| Я создаю bbcode для изображение, с помощью preg_replace_callback. Который передает один параметр url - адрес на изображение
$pattern = "#\[img\]http://([^\] \?]+?)\[/img\]#si";
$str = preg_replace_callback($pattern, 'img_replace', $str);
|
img_replace - это функция которая вызывается
function img_replace($matches)
{
return "<img src='http://$matches[1]'/>";
}
|
Допустим мне надо передать два параметра, еще альтернативный текст, тогда это будет выглядит так.
$pattern = "#\[img alt\=(.*)\]http://([^\] \?]+?)\[/img\]#si";
$str = preg_replace_callback($pattern, 'img_replace', $str);
function img_replace($matches)
{
return "<img alt='$matches[1]' src='http://$matches[2]'/>";
}
|
И тут начинаются проблемы, если например я добавляю две картинки то почему, то отображается только одна. В переменной $pattern в конце стоит #si, если заменить на #isU, то все нормально отображается как надо две три и т.д. картинок объясните мне, что делает #si и #isU. | |
|
|