mm Pues cuando tienes dudas sobre si existe alguna función para alguna taréa .. lo mejor es que mires en el capítulo correspondiente al tema que sabes q es, en este caso "cadenas de caracteres .. o strings .."
Ahora .. si no encuentras una función especifica que haga tu cometido .. Parate un momento y piensa que funciones te podrían hacer falta de entre todas las q veas en ese capítulo del manual ..
Y .. bueno . despues de la "teoría" .. el ejemplo de práctica .. Te invito a ver en el manual de php (
www.php.net/manual/es) cada una de las funciones usadas para q entiendas bien como trabaja el algoritmo ..
Código PHP:
<?
// buscar_palabras()
// entrada: string,string
// salida: array (cada elemento 1 coincidencia)
function buscar_palabras($cadena,$buscar){
// inciar array resultados ..
$coincidencias=array();
// buscar palabras
$palabras=explode(" ",$cadena);
// recorrer el array $palabras
foreach ($palabras as $palabra){
// buscar coincidencias de la cadena a buscar en la palabra
if (substr_count($palabra,$buscar) > 0){
// si hay coincidencia se añade la palabra al array de salida
$coincidencias[]=$palabra;
}
}
// se devuelve el array de coincidencias
return $coincidencias;
}
// llamada a la función ..
$cadena="hay casas bonitas en Madrid";
$resultado=buscar_palabras($cadena,"n");
// Un ejemplo completo de uso:
// concatenamos los elementos del aray con el caracter , (coma)
echo implode(",",$resultado);
?>
Seguramente .. con expresiones regulares se podría resumir el código a un par de líneas .. Seria bueno que mirases tambien esa posibilidad.
Un saludo,
<editado>
Cambíe strpos() por substr_count() para que realmente fuera "entrada: string,string .. " .. Con strpos() solo se aceptaba un caracter (y no cadena) como secuencia a buscar ..
</editado>