Výpis určitého počtu slov v PHP

Klíčová slova: substr_word, substr_word_count, explode, substr, PHP
Rubrika: PHP

Následující dvě procedury vám pomohou získat z libovolného textu první X slov. Jde o procedury, které jsem nazval substr_word a substr_word_count. Obě jsou postaveny na využití funkce explode.

Procedury jsou hlavně jednoduché. Takže od nich nečekejte zázraky. Jsou postaveny na principu, který vychází z předpokladu, že slova jsou oddělena mezerou. Neumí si tedy poradit s tvrdou mezerou. Nečekejte ani, že by uměly správně (ne)oddělit předložky či spojky. Ty jsou prostě brány jako jedno slovo. Procedury neřeší ani seskupení slov v závorkách nebo pod uvozovkami. Jsou to prostě jednoduché procedury v PHP.

První procedura, pojmenovaná substr_word_count, jednoduše vypíše prvních X slov ze zadaného textu.

function substr_word_count($text, $word_count) 
{
$return_text = "";
$text = explode(" ", $text);
for($i=0; $i<$word_count; $i++)
{
$return_text .= " ".$text[$i];
}
return $return_text;
}

Použití:

$perex = 'Toto je celý text obsahující více jak deset celých slov. 
Chci z něho získat prvních deset slov.'
;
$perex = substr_word_count($perex,10);
echo $perex;
// výsledek = Toto je celý text obsahující více jak deset celých slov.

Druhá procedura, pojmenovaná substr_word, vychází z potřeby občas text oříznout od určitého znaku na zhruba cca XXX znaků. Funguje tedy podobně jako substr, ale navíc text zprava doplní o další znaky až po následující mezeru.

function substr_word($str, $start, $length) 
{
if (!isset($length)) $length= strlen($str);
$return_text = substr($str,$start,$length);
$return_text2 = substr($str,$start+$length);
$return_text2 = explode(" ", $return_text2);
$return_text .= $return_text2[0];
return $return_text;
}
 

Použití:

$perex = '1. Toto je celý text obsahující více jak sto písmen včetně mezer.
Chci z něho prvních padesát písmen, od třetí pozice,
plus dokončení na celé následující slovo.'
;
$perex = substr_word($perex,3,50);
echo $perex;
// výsledek = Tohle je celý text obsahující více jak sto písmen včetně

Obě procedury můžou samozřejmě být napsány i jinak. Berte to jako příklad jak k danému problému přistupovat.

Autor: Jiří Provazník
Datum vydání: 15.03.2009 | Zobrazeno: 3287
Permanentní odkaz: Výpis určitého počtu slov v PHP

Komentáře (0)
Přidej vlastní komentář:
Následující (běžně neviditelná) pole slouží pro vnitřní identifikaci systému. Pokud je vyplníte nebude možné váš požadavek na straně serveru zpracovat:
URL:
contents:
Website:
Pro odeslání vašeho komentáře použijte tlačítko "Odeslat". Toto tlačítko nepoužívejte:

Následující položky je vhodné vyplnit:
Jméno :
Email :
Web :
Místo :
Hodnocení:
Hodnocení jako pomocí hvězdiček
1/5= nejhorší, 5/5=nejlepší