Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyciaganie zmiennej liczby z tekstu.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Kicha
Witam, mam czysty tekst, bez zadnego html. (w text area i bez <br> itd), i chce wyciągnąc liczby po kazdym slowie pertes, (dla attaquant i defenseur i kazdego nowego pertes oddzielnie) i potem te liczby przypasuje pod var. Niestety nie wiem jak złapać te liczby, (za kazdym nowym takim tekstem liczby sa inne i moze byc ich wiecej itp.)

Na dana chwile interesuje mnie sposob jak to tylko zrobic. Nie wiem takze jak oznaczyc liczbe ktora sie zmienia, jako jednej nie zapisze bo nastepnym razem nie zadziala:)

Oto tekst na ktorym pracuje.
Cytat
Round : 1
Attaquant
Serenity SR6 Total : 1 | Pertes : 0 (0%)

Défenseur
Tour. à laser lourd Total : 23 | Pertes : 0 (0%)
BNLMNA Total : 9 | Pertes : 0 (0%)

Round : 2
Attaquant
Serenity SR6 Total : 1 | Pertes : 0 (0%)

Défenseur
Tour. à laser lourd Total : 23 | Pertes : 23 (1%)
BNLMNA Total : 9 | Pertes : 2 (0.22%)

Round : 3
Attaquant
Serenity SR6 Total : 1 | Pertes : 0 (0%)

Défenseur
BNLMNA Total : 7 | Pertes : 7 (1%)
Tomplus

Ja kiedyś też musiałem coś podobnego zrobić, ale wyciąganiu minut z listy strzelców która była poziomo zapisana, więc raz było 0, a raz 6 nazwisk z minutami.
Jednak w PHP, a nie JavaScript. Ale potem odpowiednią daną możesz wysłać do JavaScript.

jeżeli wszędzie jest Pertes to:
  1. foreach ($dane as $linia)
  2. {
  3. $p = explode("Pertes",$linia);
  4. if ($p[1] == TRUE)
  5. {
  6. $e = explode(' ', $p[1]);
  7. echo "<br>Wynik: {$e[0]} {$e[1]} {$e[2]}"; // : 7 (15%)
  8. }
  9. }

teraz tylko usuwasz nie potrzebne znaki z e[2] czyli nawiasy i procent np. funkcją str_replace() i masz wynik smile.gif
Kicha
dzieki, mniej wiecej widze jak robiles, troche pomoze:)
Ale niestety musze miec w pelni java script:)

wartosci juz mam, tylko(chyba az:D) powyciagac i dodac poszczegolne.
wszerad
http://doman.art.pl/kursjs/kurs/regular.html
Podpowiem ci, że szukasz w tekście wzorca ": liczba" i pasujące wyniki pobierasz, ale nie jestem mocny w te klocki i nie mam czasu, żeby znaleść dla ciebie odpowiednią metode i wzorzec, ale wiesz już gdzie szukać. Jak nikt ci nie pomoże to jutro postaram się ci pomóc.
Kicha
wczesniej probowalem uzyc indexOf ale to dlugi kod do kazdej nowej jednostki typu: BNLMNA itd.

Chyba musze uzyc czegos takiego:
var Wyrazenie = new RegExp("/\d+/","s")

Ale nigdy tego nie uzywalem, musze poprobowac.

Kod
var tekst = "BNLMNA Total : 5 | Pertes : 4";
var wzor = /\d+/g;
var znalezione = tekst.match(wzor);
alert( znalezione )


juz wiem jak to dziala. ale teraz jak dodac do var tekst dana linijke?
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.