ugrás a tartalomhoz

ha n karakternel kissebb..

eaposztrof · 2007. Nov. 7. (Sze), 05.40
adott egy string, pl:
  1. $asdvar="ResultsExt aspx ctid CT574827 SearchSource 3a q eaposztrof.com";  
es ebbol ki szeretnem vonni a 3 karakternel rovidebb szavakat
valakinek tippje?
 
1

explode - implode

cSuwwi · 2007. Nov. 7. (Sze), 06.13
  1. $asdvar="ResultsExt aspx ctid CT574827 SearchSource 3a q eaposztrof.com";   
  2. $szavak = explode(" "$var);  
  3. foreach($szavak as $szam => $szo)  
  4. {  
  5.  if (strlen($szo)<3) unset($szavak[$szam]);  
  6. }  
  7. $asdvar = implode(" "$szavak);  
hirtelen felindulásból ennyire tellett így hajnalban. gondolom nem kell magyarázni, az elején a szóközök mentén szétszaggatod egy tömbbe, amin végigmenve a 3 karakternél rövidebbeket kiszórja a tömbből, majd imploddal újra összerakja. bár ez szerintem elég alap...
2

vagy regex

Wabbitseason · 2007. Nov. 7. (Sze), 11.04
  1. preg_match_all('/\b\S{,2}\b/'$asdvar$aWords);  
E megoldás előnye lehet, hogy frappánsan meg tudod adni, hogy mi számítson olyan karakternek, ami egy szóban előfordulhat.

.... edit: ehhehe, szóval nem KINYERNI, hanem KIVONNI volt a feladat, na, lássuk úgy is! :) ...
  1. $asdvar = preg_replace('/\b\S{,2}\b\s*/'''$asdvar);