Acest script afiseaza un tabel cu numarul total de cuvinte (cu lungimea mai mare de 2 caractere) dintr-o pagina specificata, si:
Cuvinte | Nr. repetari | Densitate % |
---|---|---|
script | 16 | 2.52% |
cuvinte | 12 | 1.89% |
php | 12 | 1.89% |
cuvant | 9 | 1.42% |
mai | 8 | 1.26% |
pagina | 6 | 0.94% |
matrice | 6 | 0.94% |
procentul | 5 | 0.79% |
daca | 5 | 0.79% |
preia | 5 | 0.79% |
<?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(' ', '.', '"', ',', '?', '!', ';', ':', '/', "\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; ?>
Prima linie ...<br> Alta linie...
#id { letter-spacing: 2px; }
var elm = document.getElementById("theID"); var content = elm.innerHTML; alert(content);
echo "Adresa URL: http://CoursesWeb.net";
She does not paint that landscape. - Ea nu picteaza acel peisaj.
Ella no canta esa canciĆ³n. - Ea nu canta acel cantec.