Functia prezentata aici poate fi utilizata pentru a inlocui nume de variabile (proprietate obiect, sau element array) JavaScript dintr-un sir, cu valoarea lor definita in JavaScript, folosind RegExp.
// Functia inlocuieste nume de variabile (array, proprietate_obiect) JS cu valoarea asociata lor
// Primeste sirul /-template. Returneaza sirul cu numele inlocuite
function replaceStrVar(str){
 // Curs JavaScript & jQuery - https://marplo.net/javascript/
  str = str.replace(/%(.*?)%/gi, function(a,b) {
    // daca numele este element array, altfel e proprietate_obiect sau variabila
    if(b.match(/[a-z0-9_]+\[[a-z0-9_]+\]/i)) {
      var arritm = b.match(/([a-z0-9_]+)\[([a-z0-9_]+)\]/i);      // obtine un array cu partile din nume
      return window[arritm[1]][arritm[2]];
    }
    else {
      var voitm = b.split('.');
      return (voitm.length == 2) ? window[voitm[0]][voitm[1]] : window[voitm[0]];
    }
  });

  return str;
}
- Numele de variabila /proprietate_obiect /element_array in sir trebuie adaugate intre aceste doua caractere %...% .

Aceasta functie poate fi utilizata pt a crea un simplu sir-template in JavaScript.

Iata un exemplu de utilizare a functiei replaceStrVar(), cu o variabila, un array si un obiect (pt a vedea ca functioneaza toate), si un sir-template cu numele lor care va fi inlocuit cu valoarea asociata lor in JavaScript, apoi rezultatul e adaugat intr-un tag HTML.
<div id="testpl">Sir Template:<br/><span class="sbi">Site-ul: &lt;b&gt;%website%&lt;/b&gt; contine: %obj.content1%, si are aproximativ &lt;b&gt;%visits[2]%&lt;/b&gt; vizitatori unici pe zi.</span></div>
<button onclick="testpl()">Test replaceStrVar()</button>

<script type="text/javascript"><!--
// Functia inlocuieste nume de variabile (array, proprietate_obiect) JS cu valoarea asociata lor
// Primeste sirul /-template. Returneaza sirul cu numele inlocuite
function replaceStrVar(str){
 // JavaScript & jQuery Courses - http://www.coursesweb.net/javascript/
  str = str.replace(/%(.*?)%/gi, function(a,b) {
    // daca numele este element array, altfel e proprietate_obiect sau variabila
    if(b.match(/[a-z0-9_]+\[[a-z0-9_]+\]/i)) {
      var arritm = b.match(/([a-z0-9_]+)\[([a-z0-9_]+)\]/i);      // obtine un array cu partile din nume
      return window[arritm[1]][arritm[2]];
    }
    else {
      var voitm = b.split('.');
      return (voitm.length == 2) ? window[voitm[0]][voitm[1]] : window[voitm[0]];
    }
  });

  return str;
}

  /* Test replaceStrVar() */

var website = 'https://marplo.net';      // variabila simpla
var visits = new Array(1000, 2000, 5000);        // array

// obiect
var obj = new Object();
 obj.content1 = 'Cursuri Web Developmeent, Limbi Straine';
 obj.content2 = 'Cursuri, Jocuri, Anime';

// Sirul (template)
var tpl = 'Site-ul: <b>%website%</b> contine: %obj.content1%, si are aproximativ <b>%visits[2]%</b> vizitatori unici pe zi.';

// adds the replacement in #testpl HTML element
function testpl(){
  document.getElementById('testpl').innerHTML = replaceStrVar(tpl);
}
//-->
</script>
Rezultat:
Sir Template:
Site-ul: <b>%website%</b> contine: %obj.content1%, si are aproximativ <b>%visits[2]%</b> vizitatori unici pe zi.
- Ca sa vedeti rezultatul, clic ->

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag creaza un text ingrosat?
<q> <strong> <em>
<p>Adresa: <strong>http://CoursesWeb.net/</strong> - Tutoriale.</p>
Care din aceste coduri CSS afiseaza textul ingrosat?
text-size: 18px; font-style: italic; font-weight: 800;
#id {
  font-weight: 800;
}
Ce functie JavaScript apeleaza o alta functie, in mod repetat, la un anumit interval de timp?
setInterval() setTimeout() push()
function someFunction() { alert("CoursesWeb.net"); }
setInterval("someFunction()", 2000);
Clic pe variabila definita corect in PHP.
var vname = 8; $vname = 8; $vname == 8;
$vname = 8;
echo $vname;
Care din urmatoarele forme ale verbului "travel" (a calatori) e la timpul Prezent Perfect?
have traveled shall travel had traveled
We have traveled in space.
- Noi am calatorit (deja) in spatiu.
Care din urmatoarele forme ale verbului "pintar" (a picta) se foloseste la Trecutul Imperfect?
ir a pintar pintaba pintó
La niña pintaba un arco iris.
- Fetita picta un curcubeu.
Inlocuieste nume de variabile JavaScript din sir cu valoarea lor

Last accessed pages

  1. Data si Ora in engleza - Date and Time (9980)
  2. Adjectivul in limba engleza - The adjective (12442)
  3. Curs CSS Online Tutoriale CSS3 (13868)
  4. Confusable words - Cuvinte confundabile (3349)
  5. Imperfectul 3 - Toate verbele (131)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (6372)
  2. Curs HTML gratuit Tutoriale HTML5 (5303)
  3. Curs si Tutoriale JavaScript (4693)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (4563)
  5. Curs CSS Online Tutoriale CSS3 (4410)