Ограничить длину содержимого в BBCode

В настоящее время мы используем следующий код для замены [b]...[/b] BBCode с <b>...</b>:

$s = preg_replace("/\[b\]((\s|.)+?)\[\/b\]/", "<b>\\1</b>", $s);

Если содержимое между тегами слишком велико, дочерний элемент PHP-FPM завершается с ошибкой сегмента. Так как мы позволяем нашим пользователям писать достаточно большие тексты, чтобы вызвать это, нам нужен какой-то способ остановить попытки PHP заменить его, если содержимое между тегами превышает определенную длину.

Если есть другое решение, пожалуйста, предложите его. Наш текущий предел памяти для скрипта составляет 128M, что должно быть достаточно. Максимально допустимая длина сообщения составляет 50000 символов.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]