PDA

View Full Version : یکدست کردن طول رشته در php



mehsaa
دوشنبه 06 خرداد 1392, 18:33 عصر
سلام
برای اینکه بخوام طول رشته هایی که لیست کردم همه یکی باشه چیکار باید انجام بدم؟
اونا که کمتر هستند آخرش اسپیس بزاره؟
مرسی

morteza_naderloo
دوشنبه 06 خرداد 1392, 19:24 عصر
سلام دوست عزیز
این کد به خوبی حروف فارسی را پوشش میده . حداقل من باهاش مشکلی نداشتم .


if(mb_strlen($titrnews['topic'])>=46){
$titrnews['topic']=mb_substr(strip_tags($titrnews['topic']),0,46).'...';
}


منظورت از اسپیس بزاره خوب متوجه نشدم توضیح بده . و چرا اسپیس ؟!

mehsaa
دوشنبه 06 خرداد 1392, 19:34 عصر
خیلی ممنونم
این داره میگه اگه طول ورودی از 46 بیشتر بودش فقط 46 اول و نشون بده درسته؟

حالا من میخوام اگه کمتر بود طولش بتونم به انتهاش ستاره یا هر چیز دیگه اضافه کنم، باید چیکار کنم؟

مرسی

AbiriAmir
دوشنبه 06 خرداد 1392, 19:58 عصر
ابتدا طول بزرگترین رشته رو بدست میارید، سپس با 1 حلقه for لیست رو میپیمایید... سپس با 1 حلقه for و یا while تا زمانی که طول هر رشته به اندازه طول رشته ماکزیموم نیست به انتهاش اسپیس یا هر کاراکتر دیگر اضاف میکنید

mehsaa
دوشنبه 06 خرداد 1392, 20:04 عصر
مرسی غیر این کار دستی تابعی وجود نداره که بشه این کار و انجام داد؟
میدونم توی sql یه دستور هستش ولی دقیق نمیدونم چی هست
بنظرم میاد باید تابعی وجود داشته باشه برای این کار

خیلی ممنون

AbiriAmir
دوشنبه 06 خرداد 1392, 20:07 عصر
ببینید هر تابعی که باشه order زمانی اون همین هست.
پس عملا حتا اگر تابعی وجود داشته باشه زمان اجراش در همین حدود است.
پس بجای این که وقت بذارید واسه پیدا کردن تابع میتونید به سادگی خودتون تابع رو پیاده سازی کنید.
(البته توابع خود PHP چون از قبل کامپایل شدن سرعت بیشتری دارن ولی خوب در اون حد هم نیست)

mehsaa
دوشنبه 06 خرداد 1392, 20:11 عصر
ببینید هر تابعی که باشه order زمانی اون همین هست.
پس عملا حتا اگر تابعی وجود داشته باشه زمان اجراش در همین حدود است.
پس بجای این که وقت بذارید واسه پیدا کردن تابع میتونید به سادگی خودتون تابع رو پیاده سازی کنید.
(البته توابع خود PHP چون از قبل کامپایل شدن سرعت بیشتری دارن ولی خوب در اون حد هم نیست)

بله درست میگید
ولی اینکه تابعی باشه و بشه ازش استفاده کرد که بهتر هست که
البته متوجه صحبتتون هستم برای زمان

xcodex
دوشنبه 06 خرداد 1392, 20:28 عصر
با سلام

من فکر کنم منظورتون این تابع هست :

str_pad (http://php.net/manual/en/function.str-pad.php)


یا حق

mehsaa
دوشنبه 06 خرداد 1392, 22:40 عصر
با سلام

من فکر کنم منظورتون این تابع هست :

str_pad (http://php.net/manual/en/function.str-pad.php)

یا حق

بله خیلی خیلی خیلی ممنونم