تبديل به متن ادامه دار ...

oxygenws

Active Member
خواهش می کنم، مسلما من دوست دارم مشکل بقیه رو حل کنم و مسلما شما هم این رو دوست داری.
اما به هیچ عنوان دوست ندارم فکر کنی بچه هایی که اینجا به شما پاسخ می دن، مثل همین سینای گل گلابی، وظیفه ای برای پاسخ دادن به دوششونه. :)

موفق و پیروز باشی، امید
 

sunrise

Member
اميد جان نه من شما رو درك مي كنم. مي دونم تويه هيچ انجمني كسي انتظار زيادي از كسي نداره ...

و اما در مورد انجام همين كار من دستور trim رو هم استفاده كردم ولي بازم اون مربع رو چاپ مي كنه ، اگه ميشه خودتون يه كد آماده برام اينجا بزاريد تا من بر اساس اون عمل كنم.

خيلي ممنون ميشم.
 

sunrise

Member
oxygenws گفت:
راه دومی که گفتم رو انجام بده.
خب من كه دوست دارم اين كار رو بكنم ولي هر كاري كردم نتونستم. با حلقه While هم نتونستم اين كار رو انجام بدم. اگه ميشه اميد جان يه نمونه بزار ممنون ميشم :oops:
 

oxygenws

Active Member
این کد فقط یک نمونه است، می تونی خط 4 و 5 رو یکی کنی :)
PHP:
<?php
$len=10;
$str='123456780908765434';
$str=substr($str, 0, $len+1);
$str=substr($str, 0, strrpos($str, ' '));
echo $str;
?>
 

Mikhak

Active Member
اين كد رو هم امتحان كن
اينم يه روشه كه مثلا اگه حداكثر كاراكتر رو 40 بديم توي اين 40 كاراكتر تا آخرين space رو چاپ ميكنه
PHP:
$s="مجيد آنلاين اولين مرجع براي گرافيستها";
$count=40;
for($i=$count;$i>=0;$i--)
{
 if($s[$i]==' '){
 $count=$i;
 break;
 }
} 
if((strlen($s))>40){ 
for($i=0;$i<$count;$i++) 
echo $s[$i]; 
echo"..."; 
}else{ 
echo $s; 
}
--------------------------
سينا
 

oxygenws

Active Member
سان رایز، کمی از خودت استعداد نشون بده!!!

PHP:
<?php
$len=20;
$str='این متن برای تست می باشد';
$str=substr($str, 0, $len+1);
if (($pos=strrpos($str, ' '))!=0) $str=substr($str, 0, $pos);
echo $str.' - '.strlen($str);
?>

خروجی:

خوبه؟؟
کد سینا هم درسته، اما سرعتش از اینی که من نوشتم کمتره.
 

mazoolagh

Active Member
يك پيشنهاد

اصلا چرا بر اساس كلمه كار نميكنيد؟ يعني فرضا 5 كلمه اول متن رو استخراج كنه نه اينكه 10 يا 20 حرف اول رو بگيره!
 

Mikhak

Active Member
خوب تقريبا همين كاري كه تو ميگي ميكني
با اين تفاوت كه اين روش دو تا مشكل اساسي داره
1- دو تا كلمه 4 حرفي رو مثل اين در نظر بگير
1- من و تو ميشيم ما
2- گرافيستها وبمسترها برنامه نويسها
طول اينا اصلا باهم قابل قياس نيست
2- ثانيا امكان داره با روش تو يه كلمه ناقص بيفته مثلا اگه حرف چهارم "برنامه نويس" باشه اونموقع فقط كلمه ي "برنامه" رو نشون و سه تا نقطه :neutral:
----------------
سينا
 
آخرین ویرایش:

sunrise

Member
از هر دو شما گراميان بسيار بسيار سپاسگزارم. مشكل برطرف شد.
 

oxygenws

Active Member
اصلا چرا بر اساس كلمه كار نميكنيد؟
صورت سوال چیز دیگه ای خواسته بود، بر اساس کلمه هم مشکلی نیست خوب!!

با اين تفاوت كه اين روش دو تا مشكل اساسي داره
کدوم روش؟؟
اینی که من گفتم یا اونی که تو نوشتی؟؟ (یا هر دو؟؟)
مشکل اولت با تعیین یک مینیمم طول کلمه اول حل میشه، در تنها خطی که تو برنامه من if وجود داره، میشه شرط "نامساوی صفر" رو تغییر داد. (این مشکل رو قبلا فهمیده بودم، برای همین اینقدر زود براش جواب داشتم :) )
مشکل دوم هم، تا زمانی که کلمات ترکیبی (دو یا چند کلمه ای) داریم، این مشکل وجود خواهد داشت، به هر حال، هر چی باشه، از نصفه شدن کلمات (یک کلمه ای!) که بهتره :)
 

Mikhak

Active Member
منظور من همون جريان استفاده از كلمه هستش كه مزلوق جان گفت و يه تيكه از كد تو كه خودتم راه حلشو گفتي
من كي باشم كه به برنامه شما ايراد بگيرم اميد جان استاد عزيز
------------------
سينا
 

oxygenws

Active Member
آهان، از اون لحاظ؟!!
ما چاکریم....
راستی، یادم رفت بگم.... سان رایز (رایس) "سپاسگذارم" رو با ذال می نویسن.
یه مورد دیگه اینکه، اسم اون دوستمون، "مازولاق" می باشد.

امید ملا لغط (بر وزن "امید ملا عمر")
 

جدیدترین ارسال ها

بالا