Ограничаване на извлечените символи

adrian

Registered
Как примерно в един ред имам две колони:
potrebitel и text.

Като изкарвам потребителя и текста - цялото потребителско име да излиза а от текста да излизат първите 20 символа и да излиза после многоточие. нещо такова:


потребител
текст текст текст текст текст текст...
 
$text = $r['text'];
$text = substr($text,0,20);

Ако това си имал предвид - не става :oops:

Смисъл...то всичко хубаво си излизат само 20 символа, но не излиза многоточието...
 
$text = substr($text,0,20);
if($text > 20) {
$tochki = "..." } else { $tochki = ""; }


echo "$text$tochki"


Не съм сигурен че работи :oops:
 
<?php
function spllet_extras($text,$simb)
{
if (strlen($text)>$simb)
{$totchki='...';}
else
{$totchki='';}
$zaglavieto=substr($text,0 , $simb);
return $zaglavieto.$totchki;
}


//demo
$texta="дълъг текст дълъг текст дълъг текст дълъг текст дълъг текст ждълъг текст дълъг текст дълъг текст дълъг текст дълъг текст ";
$simvola="20";

echo spllet_extras($texta,$simvola);
?>
 
За по-чисто "рязане" би могъл да използваш това:
http://web-tourist.net/login/login/view.php?st=1255

Иначе има по-удачен подход, ако ще извличаш текста от БД:

SELECT potrebitel, SUBSTRING(text,1,20) as text_20 FROM таблица

1-от къде да чете
20-колко символа да вземе

text_20 - името на елемента в масива, к ти връща БД. Името е произволно.

while ($row = mysql_fetch_array($result))
{
$potrebitel=$row["potrebitel"];
$text=$row["text_20"];
}

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

Успех! :)
 
jooorooo, sizif, мерси много и на вас. Разгледах примерите ви и сега се чудя, кой от двата да сложа в сайта, който съм почнал :) Добре, че до събота и неделя няма да имам възможност да пипам сайта и ще съм решил до тогава :)

Мерси за обясненията :)
 

Back
Горе