Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z replace
Gribo
post 13.08.2010, 05:02:30
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


witam mam taki prosty fragment kodu
  1. var wordcount = 3
  2.  
  3. var word = new Array(wordcount)
  4. var color = new Array(wordcount)
  5.  
  6. word[0] = "aktualnosci"
  7. color[0] = "#FF0000"
  8.  
  9. word[1] = "kontakt"
  10. color[1] = "green"
  11.  
  12. word[2] = "dodać"
  13. color[2] = "blue"
  14.  
  15. var body = document.body.innerHTML
  16. var i = 0
  17.  
  18. for (i = 0; i < (word.length); i++) {
  19.  
  20. var body = body.replace('/'+word[0]+'/gi', '<span style=\'color:#FFF;background-color:' +color[i]+ ';\'>'+word[i]+'</span>')
  21.  
  22. }
  23.  
  24. document.body.innerHTML = body


Problem pojawia się gdy na stronie na której to stosują pojawiają się słowa z polskimi znakami.
ta linijka odpowiedzialna za podkreslenie słowa nie działa
  1. var body = body.replace('/'+word[0]+'/gi', '<span style=\'color:#FFF;background-color:' +color[i]+ ';\'>'+word[i]+'</span>')


co dziwnego jesli wpiszę tak :
  1. var body = body.replace(/akutalności/gi, '<span style=\'color:#FFF;background-color:' +color[i]+ ';\'>'+word[i]+'</span>')

wszystko działa


--------------------
Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron.
Go to the top of the page
+Quote Post
Crozin
post 13.08.2010, 05:13:07
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


A zgadnij jaka jest różnica pomiędzy: "/abc/", a /abc/. winksmiley.jpg
Go to the top of the page
+Quote Post
Gribo
post 13.08.2010, 06:39:16
Post #3





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


no tak to prosze popraw mnie bo jak próbuję bez " to nie czyta zmiennych i wyskakują błędy


--------------------
Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron.
Go to the top of the page
+Quote Post
Crozin
post 13.08.2010, 07:18:11
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ehh... Google: JavaScript Regexp object
Go to the top of the page
+Quote Post
Gribo
post 13.08.2010, 07:35:28
Post #5





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


próbowałem także z obiektem Regexp ale efekt był ten sam. Nawet wstawiłem sobie alert dla sprawdzenia co trafia do replace w tablicy word ale wszystko jest ok dla wyrazów bez polskich liter ale z polskimi za chiny nie chce działać


--------------------
Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron.
Go to the top of the page
+Quote Post
Crozin
post 13.08.2010, 07:58:48
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


No to pochwal się Twoimi próbami.
Go to the top of the page
+Quote Post
Gribo
post 13.08.2010, 09:41:47
Post #7





Grupa: Zarejestrowani
Postów: 237
Pomógł: 17
Dołączył: 1.11.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


proszę cię bardzo:

  1. var word = new Array(wordcount)
  2. var color = new Array(wordcount)
  3. word[0] = "dodać"
  4. color[0] = "#FF0000"
  5.  
  6. word[1] = " problem"
  7. color[1] = "green"
  8.  
  9. word[2] = "koło"
  10. color[2] = "blue"
  11.  
  12. var body = document.body.innerHTML
  13. var i = 0
  14.  
  15. for (i = 0; i < (word.length); i++) {
  16.  
  17. var w = new RegExp( word[i], "gi" )
  18. var body = body.replace(w, "<font color='" + color[i] +"'>"+ word[i] + "</font>")
  19.  
  20. }
  21.  
  22.  


Ten post edytował Gribo 13.08.2010, 09:42:39


--------------------
Wyszukiwarka noclegów w Polsce i zagranicą.
Najlepszy katalog turystyczny wspomagający pozycjonowanie i promocje stron.
Go to the top of the page
+Quote Post
Crozin
post 13.08.2010, 13:20:44
Post #8





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Twój kod wydaje się być w porządku:
[JAVASCRIPT] pobierz, plaintext
  1. var str = "Ala ma kota a kot ma alę";
  2. var words = [ "ala", "ma", "kota" ];
  3. var colors = [ "red", "#faa", "blue" ];
  4.  
  5. for (var i in words) {
  6. str = str.replace(new RegExp(words[i], "gi"), "<font color='" + colors[i] + "'>" + words[i] + "</font>");
  7. }
[JAVASCRIPT] pobierz, plaintext
Co zwraca konsola błędów?

PS. <font /> - wtf?

Ten post edytował Crozin 13.08.2010, 13:21:06
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 06:26