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
*/?>
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.