Un ejemplo de como comprimir cadenas en php utilizando la función gzcompress que comprime usando el formato de datos ZLIB (es diferente que la compresión que gzip, la cuál incluye algunos encabezados de datos. Ver gzencode() para la compresión gzip).

En este ejemplo vamos a comprimir una cadena que contiene la letra del himno de León, y veremos los direfentes tamaños antes y después de utilizar la compresión gzcompress de php:

$cadena =
"Sin León no hubiera España,
que antes que Castilla leyes,
concilios, fueros y reyes,
dieron prestigio a León.

La fama cantó su hazaña
con clarines de victoria:
¡León escribió la historia
de Covadonga a Colón!

Con su sangre a torrentes vertida
dio a la Patria preciado blasón
y en sus labios cobró vida
el hermoso lenguaje español.
¡Viva León!

Tierra hidalga, tierra mía:
estrofas del romancero,
desde Guzmán a don Suero,
va tremolando el honor.

¡Es León!

Con su sangre a torrentes vertida
dio a la Patria preciado blasón
y en sus labios cobró vida
el hermoso lenguaje español.

¡Viva León!
De piedra una plegaria
la catedral semeja,
sobria y gentil refleja
el alma de León.

De historia milenaria,
de santidad osario,
del arte relicario
y de la fe expresión.

Tierra hidalga, tierra mía:
estrofas del romancero,
desde Guzmán a don Suero,
va tremolando el honor.

¡Es León!
Con su sangre a torrentes vertida
dio a la Patria preciado blasón
y en sus labios cobró vida
el hermoso lenguaje español.

¡Viva León!
Gloria a ti, pueblo sin par;
a mi labio el corazón
se asoma para gritar:

¡Viva León! ¡Viva León!";

// Comprimir la cadena
$comprimir = gzcompress($cadena);

echo "Tamaño original: ". strlen($cadena)."\n";
// Resultado: 1240

echo "Tamaño comprimido: ". strlen($comprimir)."\n";
// Resultado: 479

// Descomprimir la cadena si la queremos imprimir en pantalla
$descomprimir = gzuncompress($comprimir);

Agradezco tu comentario 🤘