ugrás a tartalomhoz

ha n karakternel kissebb..

eaposztrof · 2007. Nov. 7. (Sze), 05.40
adott egy string, pl:
$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
$asdvar="ResultsExt aspx ctid CT574827 SearchSource 3a q eaposztrof.com"; 
$szavak = explode(" ", $var);
foreach($szavak as $szam => $szo)
{
 if (strlen($szo)<3) unset($szavak[$szam]);
}
$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
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! :) ...

$asdvar = preg_replace('/\b\S{,2}\b\s*/', '', $asdvar);