1
<?php
// Entrada de etiquetas introducida por un usuario con formato inconsistente
$tagsEntrada = "PHP8.3, backend ; Desarrollo Web / Docker ,; Cloud-Hosting , , API-REST ";
// Patrón que coincide con cualquier combinación de comas, puntos y coma, barras inclinadas y espacios
$patronDelimitadores = '/[\s,;\/]+/';
echo "<div style='font-family:system-ui; max-width:640px; padding:15px;'>";
echo "<h3 style='color:#0f172a; margin-top:0;'>🏷️ Parser de Tags con preg_split()</h3>";
echo "<p style='color:#64748b; font-size:13px;'>Entrada original sucia: <code>" . htmlspecialchars($tagsEntrada) . "</code></p>";
// Con la bandera PREG_SPLIT_NO_EMPTY se descartan elementos en blanco
$tagsLimpios = preg_split($patronDelimitadores, $tagsEntrada, -1, PREG_SPLIT_NO_EMPTY);
echo "<p style='color:#059669; font-weight:bold; margin-bottom:8px;'>Etiquetas extraídas y normalizadas (" . count($tagsLimpios) . "):</p>";
echo "<div style='display:flex; flex-wrap:wrap; gap:8px;'>";
foreach ($tagsLimpios as $tag) {
echo "<span style='background:#0284c7; color:#ffffff; font-weight:600; font-size:12px; padding:5px 12px; border-radius:20px; box-shadow:0 1px 2px rgba(0,0,0,0.1);'>";
echo " #" . htmlspecialchars($tag);
echo "</span>";
}
echo "</div>";
echo "</div>";
Haz clic para editar este código