Autor | Zpráva | ||
---|---|---|---|
aoiafafoaosa Profil * |
#1 · Zasláno: 8. 2. 2008, 22:15:15
Zdravím,
robím jednu väčšiu návštevnú knihu, kde je použitá galéria asi 500 smajlíkov. Smajlíky sa do knihy budú vkladať napríklad v tvare [*234*], ktorý sa prepíše na <img src="smiles/234.gif" />. 1.) Ale chcel by som zabezpečiť, aby sa dalo do jedného príspevku použiť maximálne 10 smajlíkov rôzneho druhu (rôzne čísla). Ako by som mal spraviť premieňanie [*234*] na <img src="smiles/234.gif" /> aby bolo možné vložiť len tých 10 smajlíkov? 2.) Povedzme, že by som chcel niekedy v budúcnosti zoraďovať smajlíkov v galérii podľa počtu vložení do príspevkov (čím viac vložení daného smajlíka, tým vyššie by bol v galérii). Výsledky by som ukladal napríklad do MySQL. Ale ako mám zistiť pri pridávaní príspevku, koľko krát bol aký smajlík použitý? pozn.: riešenie vidím asi jedine v regulárnych výrazoch, no nemám s nimi až také skúsenosti aby som toto vedel spraviť. Vedel by niekto nejaké jednoduché (a hlavne nie veľmi na server zaťažujúce) riešenie ako obidva body zahrnúť do toho scriptu? Vďaka. |
||
Kcko Profil |
#2 · Zasláno: 9. 2. 2008, 08:31:42
preg_match a count
|
||
Jack Finger Profil |
#3 · Zasláno: 9. 2. 2008, 08:37:22
Výsledky by som ukladal napríklad do MySQL. Ale ako mám zistiť pri pridávaní príspevku, koľko krát bol aký smajlík použitý?
dej si to tabulky se smajlama ještě sloupec, kde budeš počítat kolikrát se vyskytuje v zadaném textu a pak řaď podle toho sloupce DESC |
||
aoiafafoaosa Profil * |
#4 · Zasláno: 9. 2. 2008, 17:20:18
Jack Finger >> áno, to už mám vyriešené, s tým problém nie je, skôr by ma zaujímala časť v php, kde to bude počítať tie výskyta smajlov v texte
Kcko >> áno, presne to som si aj myslel, že bude použité, ale aký regulárny výraz tam mám dať? Vďaka. |
||
BetaCam Profil |
#5 · Zasláno: 9. 2. 2008, 19:12:36
aoiafafoaosa
třeba : <?php $string = 'Testovaci [*235*] string [*235*][*235*] pro [*234*] preg_match_all [*232*] . [*234*]'; $array = array(); preg_match_all('/\[\*([0-9]*)\*\]/', $string, $array); echo '<pre>'; print_r(array_count_values($array[1])); echo '</pre>'; ?> |
||
djlj Profil |
#6 · Zasláno: 10. 2. 2008, 01:35:50
aoiafafoaosa
Jsou tu možná funkční, avšak zbytečná složitá řešení. Použij funkci preg_replace a využij u ní vstupní proměnné pro limit. http://cz2.php.net/preg_replace |
||
Časová prodleva: 16 let
|
0