Здравейте, може би сте забелязали, че пускам по 1 урок на ден.

Днес обаче съм решил да прекрача това свое правило :)

Това е вторият урок за днес, като не се знае дали до вечерта няма да пусна още някой :D

А ето какво представлява и урокът.

Ако имате прекалено дълъг текст и искате на точно определено място в сайта да изкарате само част от него, значи този урок е за вас :)



Функцията, която прави това е много проста и лесна. Слагал съм обяснения по кода за да се ориентирате кое за какво е.

Така отваряте файла, в който искате да съкратите текста.

Най-отгоре някъде трябва да поставите тази функция:

<?php

function shortText($text, $words, $more)

{

$word = explode(" ", strip_tags($text)); // разделяме текста на думи и ги вкарваме в масив, като преди това махаме HTML кода чрез функцията strip_tags

$text_out = array(); // създаваме празен масив, в който ще вкарваме думите

$i=0;

while ($i < $words) // създаваме цикъл чрез който ще обходим елементите в масива

{

if (!isset($word[$i])) break; // ако няма стойност с ключ $i, спираме цикъла

if (empty($word[$i])) continue; // ако стойността с ключ $i е празна – пропупускаме я и продължаваме със следващата

$text_out[] = (strlen($word[$i]) > 30) ? substr($word[$i], 0, 30)."…" : $word[$i]; // вкарваме думата в новият масив

$i++;

}

return implode(" ", $text_out).((count($word) > $words) ? $more : ""); // извеждаме вече съкратения текст

}

?>

След като сте поставили функцията във вашият файл, лесно вече може да я използвате.

Да кажем, че вашият текст се съхранява в променлива $text.

Ето по какъв начин можем да го съкратим.

$short_text = shortText($text, 10, "…");

Тук вече ще имате променлива $short_text, която ще бъде съкратения текст.

Да обясня сега и за самата функция.

Както виждате тя има 3 аргумента. Първият е текста, който трябва да бъде съкратен.

Вторият е количеството думи, които да бъдат оставени от съкратения текст. В случая съм написал 10. Това значи, че $short_text ще съдържа първите 10 думи от променливата $text.

А последният трети аргумент е низа, който ще се появява след съкратения текст. В случая съм сложил многоточие "…", като по този начин указвам на потребителите, че следва още текст.

Вие може да го промените на това, което желаете, дори да поставите линк :)

Функцията също съкращава думи по-дълги от 30 символа.

Надявам се да съм Ви бил полезен с този код. Ако имате въпроси може да ги задавате отдолу в коментарите.

До скоро!