1) способ: Как сделать всё одним регулярным выражением, а не создавать кучу переменных?
$str = 'hello [b]world[/b] test';
$bbFfom = preg_replace('#\[b\]#', '<b>', $str);
$bbBefore = preg_replace('#\[/b\]#', '</b>', $bbFfom);
echo $bbBefore;
2) способ: Я не знаю, как вставить нужное содержимое
$str = 'hello [b]world[/b] test';
echo preg_replace('#\[b\].+\[/b\]#', '<b>world</b>', $str);
Приведу небольшой примерчик. Данный код НЕ предназначен для работы в "боевом" проекте, во всяком случае без серьезной доработки. Код лишь показывает возможность и идею.
<?php
$ebb_params = array (
'b' => array (
'recursive' => true,
'function' => 'ebb_code'
),
's' => array (
'recursive' => true,
'function' => 'ebb_code'
),
'quote' => array (
'recursive' => true,
'function' => 'ebb_code_quote'
),
'code' => array (
'recursive' => false,
'function' => 'ebb_code_code'
)
);
function ebb_parse($text)
{
return preg_replace_callback('~\\[([a-zA-Z]+)\\](.*?)\\[/(\\1)\\]~s', 'ebb_tag_matches_replace', $text);
}
function ebb_tag_matches_replace($match)
{
global $ebb_params;
$tag = strtolower($match[1]);
if (!isset($ebb_params[$tag])) {
return "[$match[1]]" . ebb_parse($match[2]) . "[/$match[1]]";
}
$content = $match[2];
if ($ebb_params[$tag]['recursive'] === true) {
$content = ebb_parse($content);
}
return call_user_func($ebb_params[$tag]['function'], $content, $tag);
}
function ebb_code($content, $tag)
{
return "<$tag>$content</$tag>";
}
function ebb_code_quote($content, $tag)
{
return "<div style='background-color: grey;'>$content</div>";
}
function ebb_code_code($content, $tag)
{
return "<br><pre style='border: 1px solid blue'>code title<br>$content</pre>";
}
$str = "dsfd[quote][x]Цитата внутри не зарегистрированного тега [x] с вкраплениями [b]жирного[/b] и [s]зачеркнутого[/s] текста[/x][/quote][code][b]Какой-то код, в котором теги не[/b] раскрываются[/code]sddssd";
echo ebb_parse($str);
?>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Из названия понятно что нужно сделать, в гугле не нашёл ничего
Имеются две сущности: User, RoleКаждый инстанс сущности User содержит в себе внешний ключ roleID ссылающийся на поле id сущности Role
Мне нужно методом POST принять пару значений и значения менять с помощ'ю переменних как правильно записать в post переменную? нужно ли делать...