Código PHP:
Ver original
$keyword ="palabra"; 'a','e','i','o','u', 'á','é','í','ó','ú', 'ñ','Ñ','n','N'); '[á|a]','[é|e]','[í|i]','[ó|o]','[ú|u]', '[a|á]','[e|é]','[i|í]','[o|ó]','[u|ú]', '[ñ|n]','[Ñ|N]','[n|ñ]','[N|Ñ]');
y en la $keyword pasa dos veces las vocales... sale esto:
Código:
y MySQL genera resultados que ni al caso, el 80% de los registros dan positivo, ya cambié el orden, la forma.... ¿sí es str_replace() la función adecuada? al parecer evalúa y vuelve a reemplazar la parte de la cadena que ya había procesado, pero la única forma que encontré de evitarlo fue eliminando la segunda línea de vocales "'á','é','í','ó','ú'," del array, solo que así ya no funciona en ambos sentidos, y sí hay quienes escriben los acentos en el campo de búsqueda. ¿alguien sabrá qué estoy haciendo mal, o me sugieren procesar la cadena de otro modo? SELECT * FROM tabla WHERE columna RLIKE 'p[[á|a]|a]l[[á|a]|a]br[[á|a]|a]'