verificar varias una palabras palabra obtener extraer existe comprobar caracter cadena buscar php string

varias - ¿Cómo puedo verificar si una palabra está contenida en otra cadena usando PHP?



strpos php (10)

@mrclay

no puedo, simplemente lo hacemos

"/(?:^|/w+)" . preg_quote($word, ''/'') . "(?:$|/w+)/i"

para que compruebe el inicio o el espacio en blanco, y el espacio en blanco o final.

Pseudo Código

text = "I go to school"; word = "to" if ( word.exist(text) ) { return true ; else { return false ; }

Estoy buscando una función de PHP que devuelva verdadero si la palabra existe en el texto.


Después de buscar tantas veces una versión php adecuada, decido escribir mi propia función contains (con más de un parámetro de agujas) y es bueno recordarla.

function contains($str,$contain) { if(stripos($contain,"|") !== false) { $s = preg_split(''/[|]+/i'',$contain); $len = sizeof($s); for($i=0;$i < $len;$i++) { if(stripos($str,$s[$i]) !== false) { return(true); } } } if(stripos($str,$contain) !== false) { return(true); } return(false); }

La descripción de php contiene:

contains($str,$arg) $str: The string to be searched $arg: The needle, more arguments divided by ''|''

Ejemplos:

$str = ''green house''; if(contains($str,"green")) echo "we have a green house."; else echo "our house isn''t green"; $str = ''green, blue, red houses''; if(contains($str,"green|red")) echo "we have a green or red house."; else echo "we have a blue house.";


Otra forma (además de los ejemplos de strpos ya dados es usar la función ''strstr'':

if (strstr($haystack, $needle)) { return true; } else { return false; }


Puedes usar estas funciones de cadena,

strstr - Encuentra la primera aparición de una cadena

stristr - stristr insensible a mayúsculas y minúsculas ()

strrchr - Encuentra la última aparición de un personaje en una cadena

strpos - Encuentra la posición de la primera aparición de una subcadena en una cadena

strpbrk - Busca una cadena para cualquiera de un conjunto de caracteres

Si eso no ayuda, entonces debes usar la expresión regular preg

preg_match - Realiza una coincidencia de expresión regular


Usted tiene algunas opciones dependiendo de sus necesidades. Para este simple ejemplo, strpos() es probablemente la función más simple y más directa de usar. Si necesita hacer algo con el resultado, puede preferir strstr() o preg_match() . Si necesita usar un patrón complejo en lugar de una cadena como aguja, querrá preg_match() .

$needle = "to"; $haystack = "I go to school";

Método strpos () y stripos () (stripos () no distingue entre mayúsculas y minúsculas):

if (strpos($haystack, $needle) !== false) echo "Found!";

strstr () y stristr () método (stristr no distingue entre mayúsculas y minúsculas):

if (strstr($haystack, $needle)) echo "Found!";

Método preg_match (expresiones regulares, mucho más flexible pero más lento):

if (preg_match("/to/", $haystack)) echo "Found!";

Debido a que solicitó una función completa, así es como lo uniría (con los valores predeterminados para needle y haystack):

function match_my_string($needle = ''to'', $haystack = ''I go to school'') { if (strpos($haystack, $needle) !== false) return true; else return false; }


Utilice la función strpos en php.

$text = "I go to school"; $word = "to" if (strpos($text,$word)) { echo ''true''; }


utilizar:

return (strpos($text,$word) !== false); //case-sensitive

o

return (stripos($text,$word) !== false); //case-insensitive


strpos

<?php $text = "I go to school"; $word = "to" $pos = strpos($text, $word); if ($pos === false) { return false; } else { return true; } ?>



function hasWord($word, $txt) { $patt = "/(?:^|[^a-zA-Z])" . preg_quote($word, ''/'') . "(?:$|[^a-zA-Z])/i"; return preg_match($patt, $txt); }

Si $ word es "a", esto coincidirá:

  • "Escúchame"
  • "A la Luna"
  • "hasta el minuto"

pero no:

  • "Juntos"
  • "En el espacio"