Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP] Sortowanie linków w polu text ?
Forum PHP.pl > Forum > Przedszkole
Valkirie
W sieci znalazłem taki kodzik

  1. <head><title>Javascript Sort</title></head>
  2.  
  3. <script language="javascript">
  4. function generate(s){
  5. var temp = new Array();
  6. temp = s.split('\n');
  7. temp.sort();
  8. var result = "";
  9. var i;
  10. for(i=0; i<temp.length; i++) {
  11. result += temp[i] + "\n";
  12. }
  13. return result;
  14. }
  15.  
  16.  
  17. <form name="myform">
  18. <textarea name="mytext" rows=20 cols=60>
  19. Insert lines to sort here.
  20. <br><br>
  21. <input type="button" value="Sort!" onClick="java script: document.myform.mytext.value = generate(document.myform.mytext.value);"><br><br>
  22. </form>
  23.  
  24.  
  25.  
  26. </body>
  27. </html>


Sortuje według nazwy w polu textarea. Jednak sortuje według nazwy od początku, a mnie interesuje aby sortował według nazwy pliku tzn.

Tak teraz sortuje:
Kod
http://x2.com/2345678/plik1.rar
http://x2.com/23456789/plik3.rar
http://x2.com/234567899/plik2.rar
http://x2.com/2345678999/plik0.rar


A mi zależy na takim sortowaniu (według nazwy pliku):
Kod
http://x2.com/2345678999/plik0.rar
http://x2.com/2345678/plik1.rar
http://x2.com/234567899/plik2.rar
http://x2.com/23456789/plik3.rar
Pawel_W
no to rozdziel jeszcze jednym splitem i posortuj po nazwie smile.gif
chimeraf
Cytat(Pawel_W @ 17.04.2010, 13:25:15 ) *
no to rozdziel jeszcze jednym splitem i posortuj po nazwie smile.gif


Mógłby ktoś napisać kod jak dodać początek linku w takiej samej kolejnosci jak posortowane pliki?


-------
EDIT:
-------


Udało się. Trochę było kombinacji ale działa sortowanie linków:

Kod
<center>
<textarea cols="80" rows="13" id="n1" ></textarea> <br>
<input type="button" value="SORTUJ LINKI" onclick=sortuj()> <br>
<textarea cols="80" rows="13" id="n2" ></textarea> <br>
</center>


<script>

n1.value='http://x2.com/2345678/plik1.rar'+'\n'+'http://x2.com/23456789/plik3.rar'+'\n'+'http://x2.com/234567899/plik2.rar'+'\n'+'http://x2.com/2345678999/plik0.rar';

function sortuj()
{
n2.value='';

// PODZIEL WG entera
zm=n1.value.split('\n');
zm2=[''];
zm3=[''];


for (x=0; x<zm.length; x++)
    {
    // PODZIEL WG /
    zm2[x]=zm[x].split('/');




    // POLACZ ODWROTNIE: PLIKI DO SORTOWANIA+separator+POCZATEK LINKU
    zm3[x]=[''];
    for (y=0; y<zm2[x].length; y++)
        {
        // OSTATNI CZYLI PLIK
        if (y==0)
        (zm3[x]+=zm2[x][zm2[x].length-1]+'separator')
        // POCZATKI POLACZ
        if (y<zm2[x].length-1)
        (zm3[x]+=zm2[x][y]+'/')
        }
    }

// SORTUJ
zm3=zm3.sort();


// PODZIEL WG SEPARATORA I ZAMIEN KOLEJNOSC
zm4=[''];
zm5=[''];
for (x=0; x<zm3.length; x++)
    {
    zm4[x]=zm3[x].split('separator');
    zm5[x]=zm4[x][1]+zm4[x][0];

    // WYPISZ:
    n2.value+=zm5[x]+'\n';
    }
}
</script>


Gdyby coś nadal nie działało poprawnie to piszcie.
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.