21 mayo, 2014

Comprueba si una cadena existe dentro de otra en php

strpos

(PHP 4, PHP 5)

strposEncuentra la posición de la primera ocurrencia de un substring en un string

Descripción

mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Encuentra la posición numérica de la primera ocurrencia del needle (aguja) en el string haystack (pajar).

Parámetros

haystack

El string en donde buscar.

needle

Si la needle no es una cadena, es convertida a integer y se interpreta como el valor ordinal de un carácter.

offset

Si se específica, la búsqueda iniciará en éste número de caracteres contados desde el inicio del string. A diferencia de strrpos() y strripos(), el offset no puede ser negativo.

Valores devueltos

Devuelve la posición donde la aguja existe, en relación al inicio del string haystack (independiente del offset). También tener en cuenta que las posiciones de inicio de los string empiezan en 0 y no 1.

Devuelve FALSE si no fue encontrada la aguja.

Advertencia

Esta función puede devolver el valor booleano FALSE, pero también puede devolver un valor no booleano que se evalúa como FALSE. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

Ejemplos

Ejemplo #1 Usando ===

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// Nótese el uso de ===. Puesto que == simple no funcionará como se espera
// porque la posición de 'a' está en el 1° (primer) caracter.
if ($pos === false) {
echo 
"La cadena '$findme' no fue encontrada en la cadena '$mystring'";
} else {
echo 
"La cadena '$findme' fue encontrada en la cadena '$mystring'";
echo 
" y existe en la posición $pos";
}
?>

Ejemplo #2 Using !==

<?php
$mystring 
'abc';
$findme   'a';
$pos strpos($mystring$findme);

// El operador !== también puede ser usado. Puesto que != no funcionará como se espera
// porque la posición de 'a' es 0. La declaración (0 != false) se evalúa a
// false.
if ($pos !== false) {
echo 
"La cadena '$findme' fue encontrada en la cadena '$mystring'";
echo 
" y existe en la posición $pos";
} else {
echo 
"La cadena '$findme' no fue encontrada en la cadena '$mystring'";
}
?>

Ejemplo #3 Uso de offset

<?php
// Se puede buscar por el caracter, ignorando cualquier cosa antes del offset
$newstring 'abcdef abcdef';
$pos strpos($newstring'a'1); // $pos = 7, no 0
?>