Curs Php-mysql


Acest script afiseaza un tabel cu numarul total de cuvinte (cu lungimea mai mare de 2 caractere) dintr-o pagina specificata, si:

- Un fel de contor cuvinte dintr-o pagina.
Sistemul, ca principiu, e simplu:

Demo:

CuvinteNr. repetariDensitate %
https://marplo.net/php-mysql/numarare_cuvinte_din_pagini
Total cuvinte: 636
-Top 10 mai lungi de 2 caractere -
script162.52%
cuvinte121.89%
php121.89%
cuvant91.42%
mai81.26%
pagina60.94%
matrice60.94%
procentul50.79%
daca50.79%
preia50.79%
Mai jos aveti codul php cu explicatii la fiecare pas. In acesta nu am inclus si formularul, ci doar codul php simplu.
Scriptul mai complet (cu verificari suplimentare) in puteti descarca de la link-ul Download, de sus (nu include verificare cod antispam)

- Codul scriptului

<?php
/** Script numarare cuvinte
 * https://marplo.net/php-mysql **/

$nr = 10;			// Nr. rezultate returnate

// Functia pt eliminare spatii continui si cuvinte cu un caracter
function rem_space($str) {
  $l = strlen($str) - 1;
  if ($l>0) {
    // Apeleaza functia pana elimina toate spatiile
    if ($str{0}==' ' || $str{$l}==' ') rem_space(trim($str));
	else return trim($str);
  }
  else return 1;
}

$cuv = '';			// Aceasta variabila trebuie sa contina cuvantul dorit a fi cautat (de obicei prin $_POST)
$text = file_get_contents('adresa_site');		// Preia continutul paginii precizate sau primite ca parametru

// Elimina tag-urile si transforma tot sirul in litere mici
$text = strip_tags(trim($text));
$text = strtolower($text);

// Se defineste o matrice cu caracterele ce nu intereseaza si le sterge
$ar_del = array('&nbsp;', '.', '"', ',', '?', '!', ';', ':', '/', "\n", "\t");
$text = str_replace($ar_del, '', $text);

// Creaza o matrice a cuvintelor din sir, si le elimina spatiile exterioare
$ar_text = explode(' ', $text);
$ar_text = array_map("trim", $ar_text);

// Pastreaza cuvintele care au mai mult de un caracter si fara spatii
for($i=0; $i<count($ar_text); $i++) {
if (rem_space($ar_text[$i])!=1) $ar_text2[] = $ar_text[$i];
}

$nr_cuv = count($ar_text2);			// Nr. total de cuvinte ramase

// Creaza un array in care cheile sunt cuvintele iar valoarea lor numarul de cate ori se gasesc in matrice
$ar_nr_cuv = array_count_values($ar_text2);
arsort($ar_nr_cuv);		// Sorteaza array-ul 'valoare-key'

// Seteaza variabila care preia rezultatele ce trebuie returnate
$result = 'Total cuvinte: <u>'.$nr_cuv.'</u> (<i>mai lungi de 1 caracter</i>)';

// Daca se cauta un anumit cuvant (valoarea lui $cuv sa aibe mai mult de 1 caracter)
if (strlen($cuv)>1) {
  // Cauta daca acel cuvant e in matrice
  if (isset($ar_nr_cuv[$cuv])) {
    // Afla procentul de densitate a cuvantului si-l pastreaza cu 2 zecimale
    $procent = $ar_nr_cuv[$cuv]*100/$nr_cuv;
    $procent = round($procent, 2);
    $result .= '<br />'.$cuv.' - '.$ar_nr_cuv[$cuv].' - '.$procent.'%';		// Rezultatul ce va fi returnat
  }
  else $result = $result .= '<br />'.$key.' - 0 - 0%';		// Rezultatul ce va fi returnat
}
else {
  // Preia primele $nr elemente (sau cate sunt daca`s mai putine) din matrice si le transforma in sir
  $nr = min($nr, count($ar_nr_cuv));
  $i = 0;
  foreach($ar_nr_cuv as $key => $val) {
    // Daca cheia e un cuvant mai mare de 1 caracter
    if (strlen(trim($key))>1) {
	  // Afla procentul de densitate a fiecarui cuvant si-l pastreaza cu 2 zecimale
	  $procent = $val*100/$nr_cuv;
	  $procent = round($procent, 2);

	  $result .= '<br />'.$key.' - '.$val.' - '.$procent.'%';		// Rezultatul ce va fi returnat
	  $i++;
    }
    if ($i==$nr) break;				// Intrerupe parcurgerea la $nr
  }
}

// Afiseaza rezultatul
echo $result;
?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag este element de tip bloc?
<div> <img> <span>
<div>Web Programming and Development</div>
Care cod CSS afiseaza textul subliniat?
font-style: italic; text-decoration: underline; font-weight: 500;
h2 {
  text-decoration: underline;
}
Clic pe functia JavaScript care apeleaza o alta functie dupa un anumit timp.
insertBefore() setTimeout() querySelector()
function someFunction() { alert("CoursesWeb.net"); }
setTimeout("someFunction()", 2000);
Clic pe instructiunea care returneaza numarul total de elemente dintr-un array asociativ.
count($array) count($array, 1) strlen()
$food =["fruits" =>["banana", "mar"), "veggie" =>["ceapa", "rosie"));
$nr_food = count($food, 1);
echo $nr_food;       // 6
Indicati Viitorul Perfect la negativ al verbului din paranteze, in propozitia: "The child (to not play) by Sunday".
has't played haven't been playing will haven't played
The child will haven't played by Sunday.
- Copilul nu s-ar fi jucat pana duminica.
Indicati Viitorul Perfect pentru verbul "contar" (a povesti) la forma "Él".
habrá contado va a contar contaba
Él no habrá contado el cuento.
- El nu ar fi spus povestea.
Script PHP - Numarare cuvinte din pagini

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (271078)
  2. Afisare si chenare din CSS la elemente HTML (5728)
  3. CSS3 Flexbox Container (2847)
  4. Articole - Exercitii si teste engleza incepatori (21249)
  5. Coduri pt culori (69604)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (792)
  2. Exercitii engleza - English Tests and exercises - Grammar (355)
  3. Coduri pt culori (342)
  4. Gramatica limbii engleze - Prezentare Generala (330)
  5. Cursuri limba engleza gratuite si lectii online (326)