PDA

View Full Version : نوشته شدن 5 خط اول هر پست



djscsi
یک شنبه 10 آذر 1387, 11:54 صبح
اقا من پستها رو در دیتابیس نگه میدارم حالا میخام موقع خوندن فقط 5 خط اول نوشته بشه و در انتها نوشته شه [ادامه] و اون هم به طور اتومات لینک بشه به صفحه ای که با توجه به id پست کاملشو نشون بده
ممنون میشم کسی کمک کنه

yaqubian
یک شنبه 10 آذر 1387, 12:42 عصر
دوست عزیز

SELECT TOP 5 column FROM table

موفق باشید

djscsi
یک شنبه 10 آذر 1387, 17:53 عصر
yaqubian عزیز منظورم این نبود
منظورم اینکه از هر پست فقط 5 خط اولش رو نشون یده نه 5 پست اخر

narsic
یک شنبه 10 آذر 1387, 18:36 عصر
با سلام
دوسا عزیز بهتره براش یه تابع بنویسی که بر اساس کاراکتر حدا کنه یعنی کاراکترها رو بشماره و به اندازش جدا کنه.
موفق باشید

zoghal
دوشنبه 11 آذر 1387, 00:11 صبح
این تابع بر اساس کلمه هست نه بر اساس خط

function LimitWord($str, $length) {
$str = strip_tags($str);
$str = explode(" ", $str);
return implode(" " , array_slice($str, 0, $length))."...";
}

I,Nobody
دوشنبه 11 آذر 1387, 07:00 صبح
این تابع بر اساس کلمه هست نه بر اساس خط

function LimitWord($str, $length) {
$str = strip_tags($str);
$str = explode(" ", $str);
return implode(" " , array_slice($str, 0, $length))."...";
}

اين تابع، عبارت زير رو چطور بر مي گردونه؟


$str="Sal aam";
همونطور كه مي دونيد، space هاي متوالي، كد HTML محسوب نمي شن و به عنوان بيش از يك space هم عمل نمي كنند.

djscsi، شما مي خواي خلاصه عبارت رو نشون بدي يا اينكه ميخواي 5 تا enter در جمله رو بشماري و نشون بدي؟

yaqubian
دوشنبه 11 آذر 1387, 11:31 صبح
دوست عزیز
اون چیزی که من از مطالب جنابعالی برداشت کردم راهش این متد: nl2br
http://ir.php.net/nl2br
http://www.webmasterworld.com/forum88/11684.htm
موفق باشید

I,Nobody
دوشنبه 11 آذر 1387, 12:16 عصر
دوست عزیز
اون چیزی که من از مطالب جنابعالی برداشت کردم راهش این متد: nl2br
http://ir.php.net/nl2br
http://www.webmasterworld.com/forum88/11684.htm
موفق باشید
نه!
من برداشتم اينه كه ايشون قصد تخليص دارند. احتمالاً نياز به استفاده از substr دارند.
البته اگه سوال منو جواب بدن، بهتر ميشه كمكشون كرد.

mn3250
دوشنبه 11 آذر 1387, 16:20 عصر
function truncate ($string, $max = 50, $rep = '') {
if ( strlen($string)>$max ) {
$leave = $max - strlen ($rep);
return substr_replace($string, $rep, $leave);
} else {
return $string;
}
}

تابع بالا رو همراه با nl2br استفاده کنید.

narsic
دوشنبه 11 آذر 1387, 16:40 عصر
بچه ها میخواید صبر کنیم صاحب سوآل یه چیزی بگه نظرتون چیه ؟؟

angel_boy013
دوشنبه 11 آذر 1387, 17:08 عصر
این کد رو قبلاً سایت ایران پی اچ پی گذاشته بود




<?PHP
/**
* PHP version 5
*
* This source file is subject to version 2.1 of the GNU Lesser General Public
* License, that is bundled with this package in the file COPYING, available
* through the world wide web at the following URI:
* http://www.gnu.org/copyleft/lesser.html.
*
* @author Arash Mikaeili< arash@iranphp.net This email address is being protected from spam bots, you need Javascript enabled to view it >
*
* Return part of a string.
* returns the portion of string specified by the start and length parameters.this function works like substr() but this version is UTF-8 safe
* @param string $string
* @param int $length
* @return string
*/
function utf8_safe_substr($string,$length,$start=0) {
//setting internal encoding to utf-8
iconv_set_encoding('internal_encoding', 'UTF-8');
$string=iconv_substr($string,$start,$length);
$string=iconv_substr($string,0,iconv_strrpos($stri ng,' ')+1);
return $string;
}
echo utf8_safe_substr('ورژن کنترل به معنای هنر مدیریت تغییرات اطلعات میباشد. برنامه نویسان در حین طراحی یک پروژه
اغلب ساعتهای زیادی را صرف ساختن فایلهای جدید کرده و پس از ساخت این فایلها تغییرات زیادی را
طی روزهای متمادی در تک تک این فایلها اعمال می نمایند. بنابر این میتوان گفت که هر فایلی از پروژه
از بدو تولد تا زمان بلوغ )تکمیل شدن نهایی( بارها تغییر پیدا میکند که حتی در مواردی به خاطر
اشتباهات برنامه نویسی، برنامه نویس ناچار میشود از نسخه قبلی و یا حتی چند نسخه قبلی یک
فایل استفاده کند.',35);
//this will print ورژن کنترل به معنای هنر مدیریت to browser
?>

djscsi
شنبه 16 آذر 1387, 11:41 صبح
بچه ها میخواید صبر کنیم صاحب سوآل یه چیزی بگه نظرتون چیه ؟؟
از همگی ممنونم من این چند وقتعه اینترنت نداشتم
ممنون

djscsi
پنج شنبه 21 آذر 1387, 20:21 عصر
ممنون از همه دوستان که منو راهنمایی کردند ولی چند تا مشکل هست
مهمترینش اینه که چون ما روی متن کنترل داریم و مثلا رنگشو عوض می کنیم این تو دیتابیس به صورت کدhtm ذخیره میشه و اندازه اون با اندازه ای که ما فکر میکنیم فرق داره
حالا با این وضع چه کنیم
و یه سوال چه طور میشه بصورت در صد نشون یده منظورم اینه که مثلا بگیم که 30 درصد متن رو نشون بده
ممنون

I,Nobody
پنج شنبه 21 آذر 1387, 21:15 عصر
ممنون از همه دوستان که منو راهنمایی کردند ولی چند تا مشکل هست
مهمترینش اینه که چون ما روی متن کنترل داریم و مثلا رنگشو عوض می کنیم این تو دیتابیس به صورت کدhtm ذخیره میشه و اندازه اون با اندازه ای که ما فکر میکنیم فرق داره
حالا با این وضع چه کنیم
و یه سوال چه طور میشه بصورت در صد نشون یده منظورم اینه که مثلا بگیم که 30 درصد متن رو نشون بده
ممنون
اگر شما می خوای دقیقاً عین همون متن رو خلاصه کنی و بتونی تگ ها رو هم استفاده کنی ولی تعداد کاراکتر مورد نظر خودتو نشون بدی، بهتره یه تابع براش بنویسی.
اما اگر میخوای توی tooltip نمایش بدی یا به هر حال کدهای HTML رو توش استفاده نکنی، می تونی از توابعی مثل strip_tags ، nl2br و ... استفاده کنی

djscsi
یک شنبه 24 آذر 1387, 18:09 عصر
گر شما می خوای دقیقاً عین همون متن رو خلاصه کنی و بتونی تگ ها رو هم استفاده کنی ولی تعداد کاراکتر مورد نظر خودتو نشون بدی، بهتره یه تابع براش بنویسی.
اما اگر میخوای توی tooltip نمایش بدی یا به هر حال کدهای HTML رو توش استفاده نکنی، می تونی از توابعی مثل strip_tags ، nl2br و ... استفاده کنی
اول از همه ببخشید گه دیر جواب میدم
ای گاش یه مثال میزدی البته مشگل حل شده ولی یه مشکل جدید پیدا شده اونم اینه که چون به صورت کد html در دیتا بیس ذخیره میشه موقع خوندن مثلا اگه بگم فقط 30 تا حرف اول رو نشون بده ممگن هست اساخرش اینجوری بشه ">a href" و چون وسط این کد 30 تا کاراکتر تموم میشه اینجوری مینویسه اگه میشه اینو راهنمایی کنید
ممنون

اعظم
یک شنبه 24 آذر 1387, 19:34 عصر
شاید بهتر باشه با strip_tags اول همه کدهای اچ تی ام ال رو حذف کنی و بعد 30 کلمه یا حرف رو از متنت جدا کنی .

djscsi
دوشنبه 25 آذر 1387, 19:00 عصر
شاید بهتر باشه با strip_tags اول همه کدهای اچ تی ام ال رو حذف کنی و بعد 30 کلمه یا حرف رو از متنت جدا کنی .
ای کاش کاملتر توضیح میدادی ولی ممنون میرم امتحان کنم