Listo (Ctrl + Enter para ejecutar) Bootcamp Fullstack »
ejemplo.php
Tab = 4 espacios
1
<?php
// Caso A: El modificador /u con texto en español (tildes y eñes)
$palabraEspanol = "Año2026";

// Sin /u, \w en PHP solo reconoce [a-zA-Z0-9_] (la 'ñ' no coincide)
$patronSinU = '/^\w+$/';
$patronConU = '/^\w+$/u';

echo "<div style='font-family:system-ui; max-width:640px; padding:15px;'>";
echo "<h3 style='color:#0f172a; margin-top:0;'>🇪🇸 Caso 1: Validación UTF-8 con /u</h3>";
echo "<p style='color:#64748b; font-size:13px;'>Palabra evaluada: <strong>$palabraEspanol</strong> (contiene 'ñ')</p>";

$resSinU = preg_match($patronSinU, $palabraEspanol) === 1;
$resConU = preg_match($patronConU, $palabraEspanol) === 1;

echo "<div style='display:flex; gap:10px; margin-bottom:15px;'>";
echo "  <div style='flex:1; background:" . ($resSinU ? '#ecfdf5' : '#fef2f2') . "; border:1px solid " . ($resSinU ? '#a7f3d0' : '#fecaca') . "; padding:10px; border-radius:6px;'>";
echo "    <strong>Sin /u (/^\\w+$/):</strong><br><span style='color:" . ($resSinU ? '#059669' : '#dc2626') . "; font-weight:bold;'>" . ($resSinU ? 'Coincide' : '❌ Falla (rechaza la ñ)') . "</span>";
echo "  </div>";
echo "  <div style='flex:1; background:" . ($resConU ? '#ecfdf5' : '#fef2f2') . "; border:1px solid " . ($resConU ? '#a7f3d0' : '#fecaca') . "; padding:10px; border-radius:6px;'>";
echo "    <strong>Con /u (/^\\w+$/u):</strong><br><span style='color:" . ($resConU ? '#059669' : '#dc2626') . "; font-weight:bold;'>" . ($resConU ? '✅ Coincide correctamente' : 'Falla') . "</span>";
echo "  </div>";
echo "</div>";

// Caso B: El modificador /s (Dotall) abarcando saltos de línea
$textoMultilinea = "/* COMENTARIO\n   EN MÚLTIPLES\n   LÍNEAS */";

$patronSinS = '/\/\*.*?\*\//';
$patronConS = '/\/\*.*?\*\//s';

echo "<h3 style='color:#0f172a;'>📄 Caso 2: Bloques Multilínea con /s (Dotall)</h3>";
$resConS = preg_match($patronConS, $textoMultilinea, $mConS) === 1;

echo "<div style='background:#f8fafc; border:1px solid #cbd5e1; padding:12px; border-radius:6px;'>";
echo "  <strong>Con modificador /s:</strong> El punto (.) atraviesa saltos de línea y capturó:<br>";
echo "  <pre style='background:#1e293b; color:#38bdf8; padding:8px; border-radius:4px; margin:6px 0; font-size:12px;'>" . htmlspecialchars($mConS[0] ?? '') . "</pre>";
echo "</div>";

echo "</div>";
Haz clic para editar este código
Vista Previa
Servidor PHP 8.3