• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
جستجوی رشته
#1
با سلام میخواستم بدونم چطور میشه یک رشته را بین دو رشته خاص پیدا کرد و در متغییر ریخت.

مثلاً :

رشته1 رشته2 رشته3

کد رشته 1 و2 را بهش بدی و رشته 2 را برگرداند.
مر30
  پاسخ
تشکر شده توسط :
#2
نقل قول:کد رشته 1 و2 را بهش بدی و رشته 2 را برگرداند.
این درست برعکس اون چیزی هست که در متن بالایی گفتی. لطفاً واضح تر سوالت رو بیان کن و صد البته بدون اشتباه! Blush
غایب
  پاسخ
تشکر شده توسط :
#3
اگه منظورتو درست فهمیده باشم جوابت اینه:

کد پی‌اچ‌پی:
$str1 '1234567890';
$str2 '7';
$str3 strripos($str1,$str2);

if (
$str3)
    echo 
$str3;
else 
    echo 
"Not Found!!!"

این تابع رشته2 رو تو رشته1 جستجو میکنه و اگه پیدا کرد شماره شروع کاراکتر اون رو برمیگردونه مثلاً اینجا عدد 6 رو برمیگردونه، اعدادی که برمیگردونه از صفر شروع میشه، پس اینجا 6امین کاراکتر یعنی عدد 7 در غیر این صورت false رو برمیگردونه
  پاسخ
تشکر شده توسط :
#4
اگر منظورت رو hamidreza66 درست متوجه شده باشه منم باید به گفته های ایشون اضافه کنم که: strripos در PHP5 جواب میده و فقط و فقط در رشته جستجو می کند و به بزرگ و کوچک بودن حروف هم حساس نیست. برای همین دوستمون اعداد رو در بین سینگل کوتیشن قرار داده است در غیر اینصورت اعداد جزء رشته نیستند و نباید بین سینگل یا دابل کوتیشنی قرار بگیرند. برای همین من مثال دوست خوبم رو اصلاح می کنم و بدین صورت می نویسم:

کد پی‌اچ‌پی:
$haystack 'You can learn PHP in IranPHP';
$needle 'Iran';
$position strripos$haystack$needle );

if( 
$position === false ) {
echo( 
'Sorry, i cannot find the position of the needle in the haystack variable!' );
}
else {
echo( 
'Position: ' $position );

به نکته های زیر باید توجه داشته باشی که:
  1. موقعیت اون رشته که دنبالشی همیشه از 1 شروع میشه نه 0
  2. همیشه دنبال آخرین رشته شبیه اون چیزی که میخوای میگرده نه اولی و نه وسطی فقط آخرین
  3. اگر خواستی شرط بگذاری برای این چنین توابع همیشه از عمل مقایسه === استفاده کن
  4. چون مقادیری که از این تابع بی میگرده false یا true هست پس از این دوتا هم می تونی استفاده کنی
  5. وقتی شرط گذاشتی برای این تابع همیشه باید اول false رو در نظر بگیری
  6. اصلاً تو این تابع if همراه elseif معنا نداره و باید همیشه شرط درست یا true در else قرار بگیره
Angel
غایب
  پاسخ
تشکر شده توسط : hamidreza66
#5
(۱۳۹۰ فروردین ۱۱, ۱۰:۰۱ ب.ظ)hamidreza66 نوشته: اگه منظورتو درست فهمیده باشم جوابت اینه:

کد پی‌اچ‌پی:
$str1 '1234567890';
$str2 '7';
$str3 strripos($str1,$str2);

if (
$str3)
    echo 
$str3;
else 
    echo 
"Not Found!!!"

این تابع رشته2 رو تو رشته1 جستجو میکنه و اگه پیدا کرد شماره شروع کاراکتر اون رو برمیگردونه مثلاً اینجا عدد 6 رو برمیگردونه، اعدادی که برمیگردونه از صفر شروع میشه، پس اینجا 6امین کاراکتر یعنی عدد 7 در غیر این صورت false رو برمیگردونه


درستش اینه

کد پی‌اچ‌پی:
$str1 '1234567890';
$str2 '7';
$str3 strripos($str1,$str2);

if (
$str3!==false)
    echo 
$str3;
else 
    echo 
"Not Found!!!"
  پاسخ
تشکر شده توسط : hamidreza66


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان