Идея состоит в том, чтобы первые 80 символов поста пользователя были видны в некотором режиме обзора. Но как мне это сделать с помощью bbtags?
Я понятия не имею, как это сделать, и быстрое прибегание к помощи не помогло.
пример:
Darth Vader [spoiler]is father of luke skywalker[/spoiler]
Если я хочу подстроку из 20 символов, я хотел бы это:
Darth Vader [spoiler]is fathe[/spoiler]
Может быть, вам поможет этот код, он должен быть доработан, но идея должна быть ясной:
$str = 'Darth Vader [spoiler]is father of luke skywalker[/spoiler]';
function parse($str, $count)
{
$arr1 = str_split($str);
$result = [];
$i = 0;
$open = false;
foreach ($arr1 as $chr)
{
if ($open || $chr === '[')
{
$open = true;
if ($chr === ']')
{
$result[] = $chr;
$open = false;
}
else
{
$result[] = $chr;
}
}
elseif($i <= $count)
{
$result[] = $chr;
$i++;
}
}
return implode($result);
}
echo parse($str, 20);
Вы должны переписать код и проверить с этим регистром: «] [» и «[] [[[[]]] [[]] [[[[» «
Или выберите другой алгоритм и используйте регулярное выражение ….
Других решений пока нет …