Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
ejemplo.php
Tab = 4 espacios
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
Vista Previa
Servidor PHP 8.3