Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tinymce liczenie pogrubionych, pochyłych słów.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
cykcykacz
Witam,
pisałem już na forum w tym temacie ale ciężko znaleść odpowiedź i cały czas jeszcze tego nie mam w 100% dopracowanego.
Za zadanie mam zrobić zbieranie ogłoszenia do gazety.
Cena:
normalne słowo - 1.00zl
pogrubine - 1.20
pochyłe - 1.40
pochyłe i pogrubione naraz - 1.60

Klient ma mieć możliwość stylizacji ogłoszenia przy czym cena jest zależna od ilość słów pogrubionych, czy pochyłych lub pochyłe i pogrubione naraz.

Odrazu wybrałem edytor tinymce tylko teraz mam problem z poprawnym wyliczeniem wyrazów.

Potrafię policzyc ilośc słów,
pogrubionych
pochyłych

ale jak dochodzi policzenie pochyłe i pogrubione to wymiękam.

Macie jakiś pomysł jak to oprogramować?
skowron-line
Cytat(cykcykacz @ 24.04.2013, 09:49:11 ) *
Macie jakiś pomysł jak to oprogramować?


Poszukaj zdarzeń dla przycisków pogrubień i pochyleń i dodaj funkcję która będzie zwiększała i zmniejszała licznik. Proste ? Pewnie że prostę

Edit
http://www.tinymce.com/wiki.php/Configurat...ommand_callback
cykcykacz
Jeśli to jest proste to mnie pocieszyłeś.

Siedzę nad tym około tygodnia i mi jakoś nie idzie może w złym kierunku szukałem.
matiit
Nie lepiej zobaczyć jak wygląda wygenerowany html i go odpowiednio przeparsować?
cykcykacz
Tak robię, ale jest klika kombinacji.

Cięzko mi idzie jak pisałem,
wyrazy bez dekoracji policze,
wyrazy tylko pogrubione policze,
wyrazy tylko pochyłe policze,
ale jak dochodzi pochyłe i pogruione to wymiękam.
skowron-line
@cykcykacz zrób tak jak Ci napisałem.
2 tablice
1 tablica wyrazy pogrubione
2 tablica wyrazy podkreslone

Z tych dwóch tablic robisz 3 pogrubione i podkreślone (szukasz tych samych wyrazów (uwaga na powtarzające się wyrazy))

[JAVASCRIPT] pobierz, plaintext
  1. var suma = tab1.length * 1.20 + tab2.length * 1.40 + tab3.length * 1.60 + wyrazy.length;
[JAVASCRIPT] pobierz, plaintext


Zliczania wszystkich wyrazów chyba nie trzeba tłumaczyć
cykcykacz
Ty dobrze piszesz tylko mi chyba jeszcze brakuje troche mocy i fantazji. party.gif

Mam tu pewien sposób na to jak skończę dam wam znać jak ja to rozwiązałem.
Ale chyba w podobny sposób tworzę kilka tablic.
i przefiltrowuje je.
edit
Jest kilka kombinacji:
<strong>wyraz wyraz</strong>
<em>wyraz wyraz</em>

<strong><em>wyraz wyraz</strong></em>
<em><strong>wyraz wyraz</em></strong>

Nie jest to takie proste jak się wydaje.
phpion
1. Policz ile jest <strong> (zliczy też z <em>).
2. Policz ile jest <em> (zliczy też z <strong>).
3. Policz ile jest <strong><em> lub <em><strong>. 1 i 2 pomniejsz o uzyskaną liczbę.

Powinieneś otrzymać prawidłowe wyniki.
cykcykacz
Poczekajcie pokaże wam ile mam i powiecie mi co sądzicie.

http://szymoon.nazwa.pl//tinymce/tinymce2/index.php

Apropo mam jeszcze taki problem

Stylizując wyraz dodaje mi spację której nie chcę żeby było <strong>slowo </strong>
a ma być <strong>słowo</strong>

Zrobić to funkcją replace?

[EDIT]

Hej,
starałem się i o to co uzyskalem:

http://szymoon.nazwa.pl//tinymce/tinymce2/index10.php

skrypt liczy wyraz
- bez dekoracji
- pogrubione
- kursywa

Tylko jeszcze brakuje 4 opcji liczenie wyrazów mianowicie:
- kursywa pogrubione naraz

Ta 4 opcja wszystko mi komplikuje!

Macie może pomysł jak to policzyć?
Skrypt możecie podglądnąć na stronie ale nie jest to kod najwyszych lotów nie mniej posklejałem to sam posiłkując się forami, książkami, googlem.
lukasz1985
Myślę, że możesz do tego celu spróbować użyć biblioteki "simplehtmldom". Mógłbyś wtedy zliczyć wszystkie elementy o wybranych atrybutach.
http://simplehtmldom.sourceforge.net/

Jedynie musiałbyś uwzględnić ile słów jest objętych danym tagiem.
cykcykacz
Nie wiem czy to by się sprawdziło bo trzeba policzyć tekst pomiędzy elementami.

Myślałem urzyć do tego Jquery ale nie potrafię zintegrować Jquery z edytorem sad.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.