1
<?php
$descripcionPresupuesto = <<<TEXTO
Plan de Inversión Tecnológica:
- Servidor Cloud Dedicado: $120.00 USD mensuales.
- Licencia de Base de Datos Enterprise: $450.50 USD anuales.
- Certificado SSL Wildcard: $80.00 USD pago único.
- Dominio .com corporativo: $15.00 USD por año.
TEXTO;
// Tasa de cambio simulada: 1 USD = 4,100 COP
$tasaCambio = 4100.0;
// Patrón que captura el monto numérico en dólares
$patronDolares = '/\$([\d,]+(?:\.\d{2})?)\s+USD/i';
echo "<div style='font-family:system-ui; max-width:640px; padding:15px;'>";
echo "<h3 style='color:#0f172a; margin-top:0;'>💱 Conversor Automático de Precios</h3>";
echo "<p style='color:#64748b; font-size:13px;'>Tasa aplicada: <strong>1 USD = $" . number_format($tasaCambio, 0) . " COP</strong></p>";
// preg_replace_callback() calcula el valor en pesos para cada coincidencia en vivo
$textoConvertido = preg_replace_callback($patronDolares, function ($matches) use ($tasaCambio) {
// $matches[1] contiene el número en dólares (ej: "120.00")
$dolares = (float)str_replace(',', '', $matches[1]);
$pesos = $dolares * $tasaCambio;
// Retornamos la nueva etiqueta con ambos valores formateados
return "<strong style='color:#059669;'>$" . number_format($pesos, 0, ',', '.') . " COP</strong> <small style='color:#94a3b8;'>($" . number_format($dolares, 2) . " USD)</small>";
}, $descripcionPresupuesto);
echo "<div style='background:#f8fafc; border:1px solid #cbd5e1; border-radius:8px; padding:15px; font-size:14px; line-height:1.7;'>";
echo nl2br($textoConvertido);
echo "</div>";
echo "</div>";
Haz clic para editar este código