<?php

/**
 * Verifica si un texto contiene contenido real (no solo emojis, URLs de GIFs, espacios, etc)
 * Los emojis se preservan en el texto, solo verificamos que hay más que eso
 */
function hasRealContent(string $text): bool
{
    if (empty($text)) {
        return false;
    }
    
    $clean = trim($text);
    
    if (empty($clean)) {
        return false;
    }
    
    // Remover URLs de GIFs y medias (tenor, giphy, media.tenor, cdn.discordapp, etc)
    $clean = preg_replace('/https?:\/\/(www\.)?(tenor\.com|giphy\.com|media\.tenor\.com|cdn\.discordapp\.com|media\.discord|gifcdn|gfycat\.com|reddit\.com\/r\/[^\/]+\/comments\/)[^\s]*/i', '', $clean);
    
    // Remover URLs de Discord gifts
    $clean = preg_replace('/https?:\/\/(www\.)?(discord\.gift|discord\.com\/gifts)[^\s]*/i', '', $clean);
    
    // Remover otros URLs comunes (http://..., https://...)
    $clean = preg_replace('/https?:\/\/[^\s]+/i', '', $clean);
    
    $clean = trim($clean);
    
    if (empty($clean)) {
        return false;
    }
    
    // Remover emojis y caracteres especiales
    $clean = preg_replace('/[\x{1F300}-\x{1F9FF}]/u', '', $clean);
    $clean = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $clean);
    $clean = preg_replace('/[\x{2B50}]/u', '', $clean);
    $clean = preg_replace('/[\x{00A0}\s]+/u', '', $clean);
    $clean = preg_replace('/[\p{P}]/u', '', $clean);
    
    return !empty(trim($clean));
}

/**
 * Obtiene el texto sin emojis para análisis de idioma
 * NOTA: Los emojis se preservan en el mensaje original para mostrar al usuario
 */
function stripEmojisForDetection(string $text): string
{
    $clean = $text;
    
    // Remover emojis de rango alto
    $clean = preg_replace('/[\x{1F300}-\x{1F9FF}]/u', '', $clean);
    $clean = preg_replace('/[\x{2600}-\x{26FF}]/u', '', $clean);
    $clean = preg_replace('/[\x{2B50}]/u', '', $clean);
    
    // Limpiar espacios extras resultantes
    $clean = preg_replace('/\s+/u', ' ', $clean);
    
    return trim($clean);
}
