Показать маленькую заметку целиком, а большой текст направить в скачивание

Фактические данные получены через расширение interbase от отдельной локальной базы Firebird. Собственная учебная таблица удалена после наблюдений.

Наблюдаемый результат программы
НаблюдениеРезультат
Режим заявки 42Предпросмотр
Текст заявки 42Заказ #42 Проверить <кабель> & разъём.
Текст для HTMLЗаказ #42 Проверить &lt;кабель&gt; &amp; разъём.
Прочитано байт65
Предел предпросмотра, байт96
Запрошено байт за один шаг7
Непустых порций10
Режим заявки 43Отдельное скачивание
BLOB большой заметки открывался для чтениянет
Строки и дополнительные наблюдения
{
    "previews": [
        {
            "id": 42,
            "mode": "Предпросмотр",
            "text": "Заказ #42\nПроверить <кабель> & разъём.\n"
        },
        {
            "id": 43,
            "mode": "Отдельное скачивание",
            "text": null
        }
    ],
    "text_bytes": 65,
    "limit_bytes": 96,
    "chunk_bytes": 7,
    "nonempty_chunks": 10,
    "opened_blob_count": 1,
    "large_blob_body_read": false,
    "html_text": "Заказ #42\nПроверить &lt;кабель&gt; &amp; разъём.\n",
    "encoding": "UTF8",
    "eof_value": ""
}

Самостоятельный запуск создаёт result.json с данными и metrics.json с проверками рядом с example.php.