In acest tutorial puteti invata cum sa extrageti in JavaScript un anumit numar de caractere, sau cuvinte de la inceputul unui text.
- Ca sa obtineti primele "n" caractere dintr-un sir-text este usor, se foloseste functia JavaScript: substr().
Exemplu:
<script>
var text = 'Extrage textul cu primele 40 caractere din acest sir. Lectii si tutoriale PHP-MySQL - marplo.net/';

var txt = text.substr(0, 40);        //  Extrage textul cu primele 40 caractere

// test
alert(txt);           // Extrage textul cu primele 40 caractere d
</script>
- Primul caracter are index 0.

Extrage un numar de cuvinte specificat

Dupa cum se observa in exemplu de sus, cand se extrage un anumit numar de caractere, ultimul cuvant poate fi taiat.
Daca aveti un text din care doriti sa preluati o portiune (un subsir), si sa adaugati la el un buton cu "Citeste restul...", e mai bine ca ultimul cuvant sa fie retinut asa cum e, intreg. In acest caz vom extrage in loc de caractere un numar specific de cuvinte.
Cuvintele sunt separate prin spatiu, astfel, se poate folosi o expresie regulata care sa reprezinte un sir cu un numar specific de spatii, egal cu numarul de cuvinte ce trebuie preluat ( /([^ ]*[ ]{0,1}){1, nr}/g ), apoi se aplica functia JavaScript: match() cu expresia regulata ca sa obtinem subsirul.

- Pentru a ne asigura ca avem doar un singur spatiu intre cuvinte, vom aplica inainte acest cod:
  text.replace(/\s\s+/g, ' ')   - inlocuieste mai multe spatii goale cu un singur caracter spatiu.
Iata exemplu cu acelasi text:
<script>
var text = 'Extrage textul cu primele 40 caractere din acest sir. Lectii si tutoriale PHP-MySQL - marplo.net/';
var nrw = 8;                // numarul de cuvinte ce trebuie extras

var rgxwords = new RegExp('([^ ]*[ ]{0,1}){1,'+nrw+'}', 'g');      // expresia regulata cu nr. de spatii

text = text.replace(/\s\s+/g, ' ');        // inlocuieste spatii multiple cu un singur spatiu
var txt = text.match(rgxwords)[0];         // obtine subsirul cu "nrw" numar de cuvinte

// test
alert(txt);           // Extrage textul cu primele 40 caractere din acest
</script>

Sterge tag-uri

Daca in continutul text sunt tag-uri HTML, cand va fi extras un subsir din acel text, este foarte posibil sa ramana tag-uri deschise care vor afecta formatul continutului cand acel subsir e adaugat in pagina. In acest caz e mai bine ca tag-urile sa fie sterse inainte de extragerea portiunii de text.
Ca sa stergeti tag-urile dintr-un sir, se poate folosi codul:   text.replace(/\<[^\>]*\>/gi, '') .

- Exmplu, stergere tag-uri si preluare un anumit numar de caractere:
<script>
var text = 'Continut text <i class="cls">cu tag-uri HTML</i>. Cursuri gratuite: <b>www.coursesweb.net/</b>';

text = text.replace(/\<[^\>]*\>/gi, '');     // sterge tag-urile
var txt = text.substr(0, 30);           //  Extrage textul cu primele 30 caractere
// test
alert(txt);           // Continut text cu tag-uri HTML.
</script>

- Exmplu, stergere tag-uri si preluare un anumit numar de cuvinte:
<script>
var text = 'Continut text <i class="cls">cu tag-uri HTML</i>. Cursuri gratuite: <b>www.coursesweb.net/</b>';
var nrw = 6;                // numarul de cuvinte ce trebuie extras

var rgxwords = new RegExp('([^ ]*[ ]{0,1}){1,'+nrw+'}', 'g');      // expresia regulata cu nr. de spatii

text = text.replace(/\<[^\>]*\>/gi, '');    // sterge tag-urile
text = text.replace(/\s\s+/g, ' ');        // inlocuieste mai multe spatii cu un singur spatiu
var txt = text.match(rgxwords)[0];         // obtine subsirul cu "nrw" numar de cuvinte

// test
alert(txt);           // Continut text cu tag-uri HTML. Cursuri
</script>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminaciĆ³n
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare
Extrage un numar de caractere si cuvinte din text

Last accessed pages

  1. Gradele de comparatie: comparative, superlative (16088)
  2. Adjectivul in limba engleza - The adjective (10139)
  3. Gramatica limbii engleze - Prezentare Generala (101146)
  4. Conditional IF in Limba Engleza - Fraze Conditionale (38015)
  5. Viitor perfect si Viitorul perfect continuu - Future perfect and Continuous (9363)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (3158)
  2. Prezentul simplu si continuu - Present Tense Simple and Continuous (2345)
  3. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1782)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (1367)
  5. Conditional IF in Limba Engleza - Fraze Conditionale (1307)