Výpis určitého počtu slov v 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.
Datum vydání: 15.03.2009 | Zobrazeno: 21938
Permanentní odkaz: Výpis určitého počtu slov v PHP
Autor:Zdendys79
Autor:han5vk