Query value within a variable

3

I would like to know if you have php to do the following let's say I have a value inside a variable

$ text="here is the value of the member text"

Within the value of this variable I would like to query only the specific word in the case in question, the word member if it exists the result is true if it does not exist the result is false how do you do it using php? >

Update 06/02/2015: # : //cloud.mail.ru "> link and link a search for the word pcloud in the first and cloud in the second the problem and that is having conflict or if you have the url link .

So if I'm looking for cloud of the true result being that it was to fake the pcloud text, you have some way to supplement both of these response codes for the query of the exact word is checking the beginning of the word consulted at the end to avoid this kind of error?

Literally the error is not synonymous if the last letter of the word is different and not the first letter.

    
asked by anonymous 02.06.2015 / 04:19

3 answers

4

If this is possible using regular expressions, use the preg_match function that says the regex pattern exists in the string passed as the second argument.

function findKeyWord($str, $key){
    $regex = '/'. $key .'/i';
    return preg_match($regex, $str);
}

echo findKeyWord("aqui fica o valor do texto do membro", 'membro');
echo findKeyWord("aqui fica o valor do texto do membro", 'membros');

The output for the first call is 1 to true and the second 0 to false .

Example - Ideone

Update

To find an exact value use the anchor \b - border , when you use it you denote the limits of the word you want to marry , where it begins and ends, see an example:

function encontrarValor($texto, $palavra){
    if (preg_match("%\b{$palavra}\b%", $texto))
      return true;
    else
      return false;
}

Example usage:

$texto1 = "aqui fica o valor do texto do ZZZmembroYYY";
$texto2 = "aqui fica o valor do texto do membro";

$resultado1 = encontrarValor($texto1, "membro");
$resultado2 = encontrarValor($texto2, "membro");

if ($resultado1)
  echo "(membro) foi encontrado em {$texto1} \n";
else 
  echo "Não foi possível encontrar (membro) em ({$texto1}) \n";

if ($resultado2)
  echo "(membro) foi encontrado em ({$texto2}) \n";
else
  echo "Não foi possível encontrar (membro) na ({$texto2}) \n";

Example - Ideone

    
02.06.2015 / 04:27
3

You can use the strpos function .

$texto = 'aqui fica o valor do texto do membro';
$procurar = 'membro';
$pos = strpos($texto , $procurar);

if ($pos === false) {
    echo "A string {$procurar} não foi encontrada na string {$texto}";
} else {
    echo "A string {$procurar} foi encontrada na string {$texto}";
    echo " e existe na posição {$pos}";
}

See% with%

To do this so that it is not case sensitive, use demonstração .

To return true or false, if a value exists in a text, do:

function consultarValor($texto, $procurar){
    $pos = strpos($texto , $procurar);
    if ($pos === false)
      return false;
    else
      return true;
}

$texto = 'aqui fica o valor do texto do membro';
$procurar = 'membro';

if (consultarValor($texto, $procurar)){
    // Fazer algo aqui caso $valor existe em $texto.
} else {
    // $procurar não existe em $texto.
}

View stripos()

    
02.06.2015 / 04:27
2

Check the mb_stripos ()

Functions mb _ * are library functions MBSTRING , are functions that provide support for multibyte characters.

The letter " i " in the function name, indicates " case i nsensitive "

The function returns the position of the first occurrence of the string within the text and, if it does not find it, returns boolean false

    
02.06.2015 / 13:48