Afisarea unui anumit numar de cuvinte [REZOLVAT]
Moderatori: Moderatori, Start Moderator
Afisarea unui anumit numar de cuvinte [REZOLVAT]
Salutare tuturor! Cum fac si eu sa extrag si sa afisez pe pagina numai un anumit numar de cuvinte (nu de caractere) din db? Multumesc tuturor! 
Ultima oară modificat Joi Sep 21, 2006 1:13 am de către Ion, modificat 1 dată în total.
The road to success is always under construction!
- doryy42
- Senior Member
- Mesaje: 362
- Membru din: Dum Feb 19, 2006 11:52 pm
- Localitate: Bucuresti
- Contact:
Cod: Selectaţi tot
//0 de unde incepe
//17 unde se termina !
$sir = "123344556984923kldfjaskdjasklud2398409123481209";
substr($sir,0,17);
doryy42, nu ai inteles intrebarea....
Nu stiu cat de buna este varianta mea, nu am incercato niciodata. Varianta mea se bazeaza pe faptul ca doua cuvinte sunt separate de niste delimitatori (.,;, spatii, etc) asa ca poti construi o expresie regulata care extrage k cuvante, urmat de delimitatori...regexpu ar trebui sa arate astfel
EDIT: inlocuiesti k nu numarul de cuvinte care le vrei extrase
si expresia asta o folosesti cu http://ro.php.net/manual/en/function.preg-match.php
Este posibil sa fi gresit expresia regulata, sau ea sa nu acopere chiar toate cazurile...in acest caz http://www.regular-expressions.info/tutorial.html e un bun punct de plecare
Nu stiu cat de buna este varianta mea, nu am incercato niciodata. Varianta mea se bazeaza pe faptul ca doua cuvinte sunt separate de niste delimitatori (.,;, spatii, etc) asa ca poti construi o expresie regulata care extrage k cuvante, urmat de delimitatori...regexpu ar trebui sa arate astfel
Cod: Selectaţi tot
/((\w*\W*){k})/EDIT: inlocuiesti k nu numarul de cuvinte care le vrei extrase
si expresia asta o folosesti cu http://ro.php.net/manual/en/function.preg-match.php
Este posibil sa fi gresit expresia regulata, sau ea sa nu acopere chiar toate cazurile...in acest caz http://www.regular-expressions.info/tutorial.html e un bun punct de plecare
$cuvant = explode(' ', $propozitie);
$cuvant devine un array care tine toate cuvintele din $propozitie ...
$cuvant[0] este primul cuvant ... $cuvant[1] al doilea si tot asa... daca vrei sa printezi primele 10 ... bagi un:
for($i=0;$i<10;$i++)
{
echo $cuvant[$i] . " ";
}
... ps: nu uita sa verifici daca exista 10 cuvinte in propozitia aia
$cuvant devine un array care tine toate cuvintele din $propozitie ...
$cuvant[0] este primul cuvant ... $cuvant[1] al doilea si tot asa... daca vrei sa printezi primele 10 ... bagi un:
for($i=0;$i<10;$i++)
{
echo $cuvant[$i] . " ";
}
... ps: nu uita sa verifici daca exista 10 cuvinte in propozitia aia
Cod: Selectaţi tot
$propozitie="foloseste functia count";
$cuvant = explode(' ', $propozitie);
echo count($cuvant);
for($i=0;$i<count($cuvant)-1;$i++)
{
echo $cuvant[$i] . " ";
}
$cuvant = explode(' ', $propozitie);
$cuvant devine un array care tine toate cuvintele din $propozitie ...
$cuvant[0] este primul cuvant ... $cuvant[1] al doilea si tot asa... daca vrei sa printezi primele 10 ... bagi un:
for($i=0;$i<10;$i++)
{
echo $cuvant[$i] . " ";
}
... ps: nu uita sa verifici daca exista 10 cuvinte in propozitia aia
Si daca intre 2 cuvinte exista mai mult de un spatiu?
- oriceon
- PHPRomania Moderator
- Mesaje: 480
- Membru din: Vin Dec 24, 2004 3:48 pm
- Localitate: Constanta
- Contact:
Cod: Selectaţi tot
<?php
$str = "Hello fri3nd, you're
looking good today!";
echo "<pre>";
print_r(str_word_count($str, 1, 'àáãç3'));
echo "</pre>";
echo "<br><br> Cuvinte: ". count(str_word_count($str, 1, 'àáãç3'));
?>
àáãç3 = caractere considerate ca si parte din cuvant ...
Pt mai multe detalii: http://ro.php.net/str_word_count
sau . . .
Cod: Selectaţi tot
<?php
$propozitie = 'salut aceasta este o propozitie ';
$cuvinte0 = explode(' ', $propozitie);
$cuvante1 = array_filter($cuvinte0);
$cuvinte = array_values($cuvante1);
echo "<pre>";
print_r($cuvinte);
echo "</pre>";
?>
King:
Daca printezi toate cuvintele n-ai rezolvat nimic... el vrea sa printeze doar primele n cuvinte.
xtzy:
eu in general consider ca am de-a face cu oameni care stiu macar putin php si pot sa bage si ei o linie de cod in plus ca sa le mearga codul asa cum il vor... stii ce cred eu despre raspunsurile mura-n gura
Daca printezi toate cuvintele n-ai rezolvat nimic... el vrea sa printeze doar primele n cuvinte.
xtzy:
eu in general consider ca am de-a face cu oameni care stiu macar putin php si pot sa bage si ei o linie de cod in plus ca sa le mearga codul asa cum il vor... stii ce cred eu despre raspunsurile mura-n gura
- oriceon
- PHPRomania Moderator
- Mesaje: 480
- Membru din: Vin Dec 24, 2004 3:48 pm
- Localitate: Constanta
- Contact:
Dodo, right.
Asta daca vrea un nr de cuvinte...
Cod: Selectaţi tot
<?php
$propozitie = 'salut aceasta este o propozitie ';
$nr_cuvinte = 3;
$cuvinte0 = explode(' ', $propozitie);
$cuvante1 = array_filter($cuvinte0);
$cuvinte = array_values($cuvante1);
$cnt = count($cuvinte);
for($i=0;$i<($cnt < $nr_cuvinte ? $cnt : $nr_cuvinte);$i++) {
echo $cuvinte[$i] . " ";
}
?>
Asta daca vrea un nr de cuvinte...
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 31 vizitatori

