Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenia regularne - replace
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
MadMark
Witam,


mamy pytanie: jak w metodzie .replace() zamienić zmienną typu array na te same słowa tylko w pogrubieniu html (<b></b>) ?
Próbowałem tak:

  1. for(i=0;i<v1.length;++i){
  2. $("#results").text().replace(v1[i],"<b>"+v1[i]+"</b>");
  3. }


ale zamienia mi tylko jedno słowo w $("#results").text() z każdego indeksu, jak to zamienić aby działało na wszystkich słowachz każdego indeksu ?
wookieb
Zanim zaczniesz posługiwać się terminami "index" dowiedz się co to jest w kontekście tablicy.
Pokaż co masz w tablicy, co masz w #results i co chcesz osiągnąć.
MadMark
  1. var v = $("#search").val();
  2. var v1 = v.split(" ");
  3. for(i=0;i<v1.length;++i){
  4. $("#results").text().replace(v1[i],"<b>"+v1[i]+"</b>");
  5. }


w $("#search") znajdują się "słowa których szukam", a w $("#results") jest "długi tekst który zawiera różne słowa, szukam rozwiązania problemu, ale nie wiem których rozwiązań się trzymać, dlatego szukam rozwiązania u kogoś kto zna się lepiej ode mnie na szukaniu słów" ... Coś takiego ^^
wookieb
Dobra nie wiem o co chodzi ale zrób to
[JAVASCRIPT] pobierz, plaintext
  1. var results = $('#results');
  2. var html = results.html().replace(v1[i],"<b>"+v1[i]+"</b>");
  3. results.html(html);
[JAVASCRIPT] pobierz, plaintext
MadMark
Ehh ^^

v1[] jest tablicą np 3 słów.
i chce w moim tekście każde z tych słów pogrubić. Niby działa, ale .replace(v1[i],"<b>"+v1[i]+"</b>") zamienia mi tylko JEDNO słowo w TEKŚCIE nawet jak jest ich więcej... a ja chce zamienić wszystkie biggrin.gif

potrzeba mi coś na kształt: /zmienna[i]/gi ... ale /v1[i]/gi nie działa...
wookieb
Jeżeli twoje słowa nie zawierają znaków specjalnych to spoko
[JAVASCRIPT] pobierz, plaintext
  1. // zamiast v1[i]
  2. new RegExp(v[i], 'g')
[JAVASCRIPT] pobierz, plaintext

Jeżeli zawierają znaki specjalne to http://simonwillison.net/2006/Jan/20/escape/ i musisz wykonać metodę "escape" na elemencie tablicy
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.