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 afiseaza textul oblic?
<strong> <pre> <em>
<p>Cursuri, Jocuri, Anime: <em>www.MarPlo.net</em></p>
Care proprietate CSS defineste spatiul dintre continutul elementului si bordura lui?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Clic pe metoda ce returneaza primul element indicat de selectorii specificati.
getElementsByName() querySelector() querySelectorAll()
// preia primul Div cu class="cls", si afiseaza continutul
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicati variabila PHP ce contine datele din formular trimise cu method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) speak english".
I They We
We speak english.
- Noi vorbim engleza.
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) hablamos español".
Ellos Vosotros Nosotros
Nosotros hablamos español.
- Noi vorbim spaniola.
Extrage un numar de caractere si cuvinte din text

Last accessed pages

  1. Lucru cu Baza de Date MySQL: Constructor de Comenzi SQL (329)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (9984)
  3. Pronumele in limba engleza - Pronouns (16296)
  4. Gramatica limbii engleze - Prezentare Generala (92208)
  5. Tutorial JQuery WebDesign (240)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2253)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (871)
  3. Gramatica limbii spaniole. Indrumator si prezentare generala (718)
  4. Exercitii engleza - English Tests and exercises - Grammar (675)
  5. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (606)