Hoy escribí una pequeña función que compara y evalúa si un carácter o string aparece únicamente una vez en otra cadena.
La función devolverá falso en caso de que no aparezca ninguna vez, ya que para que evalúe a verdadero debe aparecer una vez. No cero, no más, sino una.
La función es sencilla. Solamente hace uso de la función substr_count que, como su nombre lo dice, cuenta cuántas veces aparece una porción de una cadena dentro de otra cadena.
Con eso simplemente comparamos si el resultado es 1, y si es que sí, regresamos verdadero.
Sin más que agregar, aquí dejo el código:
<?php
function apareceSoloUnaVez($cadena, $busqueda){
return substr_count($cadena, $busqueda) === 1;
}
//Para probar
$arreglo = [
"https://www.parzibyte.me" => "https",
"Hola, ¿Qué haces?" => "Qué",
":) hola :)" => ":)",
"Separado\ncon muchos\nsaltos de línea" => "\n",
"Lleva muchos espacios" => " ",
"Un espacio" => " ",
"<br>Soy html" => "<br>",
"<img src='imagen.png' src='perro.png'>" => "src="
];
foreach($arreglo as $cadenaPrueba => $busqueda){
printf("Probando si '%s' aparece sólo una vez en '%s'... %s\n\n", $busqueda, $cadenaPrueba, apareceSoloUnaVez($cadenaPrueba, $busqueda) ? "Sí": "No");
}
/*
Salida:
Probando si 'https' aparece sólo una vez en 'https://www.parzibyte.me'... Sí
Probando si 'Qué' aparece sólo una vez en 'Hola, ¿Qué haces?'... Sí
Probando si ':)' aparece sólo una vez en ':) hola :)'... No
Probando si '
' aparece sólo una vez en 'Separado
con muchos
saltos de línea'... No
Probando si ' ' aparece sólo una vez en 'Lleva muchos espacios'... No
Probando si ' ' aparece sólo una vez en 'Un espacio'... Sí
Probando si '<br>' aparece sólo una vez en '<br>Soy html'... Sí
Probando si 'src=' aparece sólo una vez en '<img src='imagen.png' src='perro.png'>'... No
*/?>
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.