Autor Zpráva
Daniel de Luigi
Profil *
Zdravím,
nemohl jsem přijít na to, jak to udělat, ale nakonec jsem na něoc přišel.
Hledám, jestli se text vyskytuje 3x v proměnné. Pokud ano, odešle se zpráva.
Napadlo mě to jen takto:
                        $y = "[quote]";
            $najdi = StrChr($message,$y);
            if($najdi)
            {
                $nalezene++;
                if($nalezene == 3)
                {
                    $nalezene = 0;
                    die("zpráva..");
                }
            }
Je to asi blbost no.:D Poradíte prosím?:D
Monkeys
Profil *
Daniel de Luigi:

Nerozumiem ako ze 3x v premennej ?
Ak si myslel 3x v neakom stringu tak potom neako takto.

$str = "[quote] bla bla bla bla [quote] bla bla bla ... [quote] bla bla bla ...";

if(preg_match_all("/\bquote\b/i", $str, $match))
{    
    if(count(array_shift($match)) == 3)
    {
        echo "OK";
    }
    else
    {
    echo "Nenaslo";    
    }
}

M.
Daniel de Luigi
Profil *
[#2] Monkeys Díky, ale bohužel nefunguje :(
Alphard
Profil
substr_count()
Daniel de Luigi
Profil *
Nějak tomu nerozumím, ale
if(substr_count($message, '[quote]', 3))
        {
            die("Test");
        }
nefunguje..
Alphard
Profil
Tu 3 nezadávejte jako žádný parametr, porovnávejte návratovou hodnotu funkce.
peta
Profil
Daniel de Luigi: Mozna by bylo dobre kliknout na link v [#4] Alphard, podivat se, jak se ta funkce pouziva (Example #1), jake ma parametry a tak.
Tys zadal parametry tak, ze zacne hledat od znaku na pozici 3, coz je ctvrty znak. Pokud mas $y = "[quote]";, pak zacina hledat na az "ote]", coz se s '[quote]' neshoduje, nevypise Test.
Daniel de Lugi
Profil *
Bohuzel, nefunguje to..
Jan Tvrdík
Profil
if (substr_count($message, '[quote]') >= 3)
{
    // ...
}
Daniel de Lugi
Profil *
Bohuzel, ani toto :/
Joker
Profil
Daniel de Lugi:
Nějaký konkrétnější popis problému než „nefunguje“?
Daniel de Lugi
Profil *
Nic vic nemam co napsat. Dal jsem tam to, co sem postnul Jan Tvrdík.. Hodil jsem tam die("Chyba"); a nic.. Pusti to dal
Monkeys
Profil *
Daniel de Lugi:

ak to mas napisane ako v #5 bode tak to znamena ze podmienka bola splnena.
Klauzula die sa uz myslim nepouziva ked tak pouzi vynimky try, catch, Exception.

M.
peta
Profil
Mi to funguje spravne. Asi mas spatne tvuj kod.
<?php
$str  = "[quote] bla bla bla bla [quote] bla bla bla ... [quote] bla bla bla ..."; // #2 radek 1
$patt = "[quote]";
echo substr_count($str, $patt); //php.net example1 radek 2 -- vypise 3
$nalezene = substr_count($str, $patt); //php.net example1 radek 2
if($nalezene == 3) // diskuze #1 radek 6 (nebo #5 radek 1)  -- vypise se Je tam 3x.
  {echo '<br>Je tam 3x.';}
else
  {echo '<br>Je tam mene nez 3x nebo vice nez 3x.';}
?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: