PDA

View Full Version : کوتاه کردن متن فارسی



tux-world
یک شنبه 26 خرداد 1392, 16:49 عصر
سلام قبلا یه تابعی بچه ها معرفی کرده بودن برای نمایش یه قسمت از متن فارسی که بقیش رو سه نقطه میذاشت پیدا نکردم. کسی دراین مورد اطلاعی داره؟

Tarragon
یک شنبه 26 خرداد 1392, 17:37 عصر
سلام
تو قسمت snippet ها هستش.

hamid_kha
یک شنبه 26 خرداد 1392, 18:00 عصر
سلام
منظورتون او تابعی که "عنوان خبر" رو بصورتی که تنها چند کاراکترش رو نشون میداد و بقیه رو بصورت 3 نقطه نشون میداد هستش.
تیتر اول....
بعضی مواقع نمایش کامل یک متن ظاهر صفحات شما رو بد میکنه. برای مثال نمایش عنوان یه خبر. فرض کنید حداکثر فضایی که شما دارید 100پیکسله. ولی عنوان یک خبر بیشتر از 100 پیکسل میشه. پس باید یه تعداد کاراکتر خاص از اون رو نشون بدین...

برای نمایش قسمتی از یک متن توی یک gridview یا ... نیاز به یک تابع دارین که متن رو کوتاه کنه.
این تابع رو در قسمت کد صفحتون (cs.) بنویسید:



public string SubString(object Text, object Length)
{
string StringText = Text.ToString();
int StringLenght = int.Parse(Length.ToString());
if (StringText.Length > StringLenght )
{
return StringText.Substring(0, StringLenght ) + "... ";
}
else
{
return StringText ;
}
}


بعد Lableی که میخواین متن رو نشون بده اینطوری مقدار بدین:
<asp:Label ID="Label1" runat="server" Text='<%# SubString(Eval("Message"),100) %>'></asp:Label
البته توی Asp.net
موفق باشید:چشمک:

abbas_ali
یک شنبه 26 خرداد 1392, 18:17 عصر
مثل اینکه سوال شما php هست :


function my_substr($text, $start = 0, $end) {
if(empty($text)) return '';

if ( strlen($text) > $end){
$endt = '...';
}else{
$endt = '';
}
$out = mb_strcut ( $text, $start , $end , "UTF-8" );

$text=''.$out.''.$endt.'';

return $text;

}
موفق باشی.