phpbar.de logo

Mailinglisten-Archive

[php] Substantive herausfinden

[php] Substantive herausfinden

Dennis Sterzenbach lists at darknoise.de
Mon Okt 27 09:36:42 CET 2003


Sascha Emondts wrote:

<snip/>
>>>$keywords = array();
>>>$words = explode(" ", $text);
>>>foreach ($words AS $word) {
>>>    $firstchar = substr($word, 0, 1);
>>>    if (strToUpper($firstchar) == $firstchar) {
>>>        $keywords[] = $word;
>>>    }
>>>}
> 
> 
<snip/>
> 
> die Anforderung "alle einmal vorkommenden" ist hier noch nicht bedient.
> Könnte man über einen Wortzähler im Array machen:

Stimmt, das habe ich überlesen. Deine Lösung ist allerdings ein wenig
zu Resourcen intensiv. (Ist IMO nicht sinnvoll wegen der Laufzeit).

$keyword_in = array();
$keywords = array();
$words = explode(" ", $text);
foreach ($words AS $word) {
     $firstchar = substr($word, 0, 1);
     if (strToUpper($firstchar) == $firstchar) {
         if (!isset($keyword_in[$word])) {
             $keyword_in[$word] = true;
             $keywords[] = $word;
         }
     }
}
unset($keyword_in);

In diesem Fall wird in dem Array $keyword_in einfach nur einmal das
gefundene Substantiv-Wort als Schlüssel gesetzt. Sollte es später ein
zweites Mal im String vorkommen, wird das durch die if (isset())
Bedingung erkannt und nicht nochmals zu dem Array $keywords hinzugefügt.

Das ist weit weniger aufwendig als die Lösung mittels *sort() Funktionen
zu basteln, da hier das Array nicht zweimal aufgebaut wird, was bei
Saschas Lösung der Fall ist.

-- 
   Dennis Sterzenbach
   http://www.darknoise.de/



php::bar PHP Wiki   -   Listenarchive