Autor Zpráva
Ricky4852
Profil *
Dobrý deň, mám menší problem s mojou vlastnou PHP diskusiou.

Pridávam novú funkciu - smajle, ale potrebujem to ošetriť tým, aby ma s nimi niekto nezasipal.

Takže nejak limitovať počet smajlov, napadlo ma už riešenie, že napr. podmienka: ak v texte
je znakov "[/1]" viac ako 5, tak spravu neodošle, bohužiaľ neviem ako sformulovať túto podmienku
do skriptu.

Ďakujem za všetky odpovede :)
WanTo
Profil
Asi nejjednodušší bude použít regulární výrazy. Tady máš ukázku, smajlíky to bere jako [/číslo] (může mít i víc cifer):

$text = "[/445] ahoj svete [/1] [/222] aaa <br> \n [/1][/1].";
$reg = "/^(\s|\S)*(\[\/[0-9]+\](\s|\S)*){5,}$/";

if (preg_match($reg, $text)) echo "jo";
else echo "ne";
Ricky4852
Profil *
Funguje to, veľmi pekne ďakujem :)
Ricky4852
Profil *
No má to malú chybičku, skript som zmenil na:
$reg = "/^(\s|\S)*(\[\/[0-15]+\](\s|\S)*){5,}$/";

a skúšam:
[/1] [/2] [/3] [/4] [/5] [/6] [/7] [/8] [/9] [/10] [/11] [/12] [/13] [/14]
- ide

- nejde
[/1] [/2] [/3] [/4] [/5] [/6] [/7] [/8] [/9] [/10] [/11] [/12] [/13] [/14] [/15]

Už pri piatich smajloch mi malo zahlasiť že to nema isť :S
mattyZEM
Profil
Nemůžeš dát 0-15, jde jen 0-9 a tomu musíš určit ještě "+" nebo {1,2}

$reg = "/^(\s|\S)*(\[\/[0-90-5]+\](\s|\S)*){5,}$/" 
Ricky4852
Profil *
Už to ide, vďaka ešte raz :)

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:

0