PDA

View Full Version : نمایش کاراکترها از یک رشته واقع در فایل متنی



srayaneh
چهارشنبه 06 اردیبهشت 1391, 22:37 عصر
سلام و خسته نباشید ؛ بنده تو این زمینه مبتدی هستم و پیشاپیش اگر سوالم مبتدیانه است عذر میخوام! بنده یک فایل متنی دارم با محتوای :

www.#.com/.../tour_form.php|2012-02-02 (http://www./#.com/.../tour_form.php%7C2012-02-02) 09:32:06|91.99.19.182|-ID-: ALD6868|-Name-: AMIR FAHIMI|
www.#.com/.../tour_form.php|2012-02-02 (http://www./#.com/.../tour_form.php%7C2012-02-02) 09:32:06|91.99.19.182|-ID-: ALD6999|-Name-: ALI Rezaiyan|
www.#.com/.../tour_form.php|2012-02-02 (http://www./#.com/.../tour_form.php%7C2012-02-02) 09:32:06|91.99.19.182|-ID-: ALD6222|-Name-: AMIR Tumari|
...

سوالاتی که دارم این هست که

1- چگونه می توانم فقط |-ID-: ALD6868|-Name-: AMIR FAHIMI| و سایر موارد مشابه در خطهای پایینتر را از این فایل متنی نمایش دهم؟

2- چگونه می توانم مثلا فونت کاراکترهای ثابت در هر خط مثل ID و Name را بولد یا تغییر رنگ دهم؟

3- چگونه میشود که فقط 10 خط از انتهای فایل متنی نمایش داده شود؟

4- در انتها چگونه میتوان اطلاعات هر خط را مانند فایل متنی در یک خط مجزا نمایش داد (منظورم اینه که نمیخوام پش سرهم در یک خط نشون داده بشن و میخوام در خطوط جدا از هم نمایش داده بشن)؟

فکر کنم سوالام زیاد شد! بازم معذرت

MMSHFE
پنج شنبه 07 اردیبهشت 1391, 01:13 صبح
$lines = file('filename.txt');
// 3
$c = count($lines);
for($i = ($c - 10); $i < $c; $i++) {
// 1
$line = substr($line, strpos($line, '-ID-'));
// 2
$line = str_replace('-ID-:', '<b>-ID-:</b>', $line);
$line = str_replace('-Name-:', '<b>-Name-:</b>', $line);
// 4
echo $line.'<br/>'.PHP_EOL;
}

توی کد فوق توسط توضیحات نوشتم که هر کدوم از مواردی که خواستین رو کدوم بخش از کد داره انجام میده. اگه سؤالی بود در خدمتم.
موفق باشید.

srayaneh
پنج شنبه 07 اردیبهشت 1391, 01:56 صبح
دستت درد نکنه . واقعا لطف کردی ولی متاسفانه کار نمیکنه. :افسرده:

srayaneh
پنج شنبه 07 اردیبهشت 1391, 02:29 صبح
بذارید کاملتر توضیح بدم ؛

بنده یک فرم دارم که اطلاعات رو توی یک فایل متنی ذخیره میکنه.

برای نمایش اطلاعاتم در یک صفحه دیگر نیاز به این کمک دارم :ناراحت:

الان میتونم همه اطلاعات اون فایل رو بصورت خط به خط (همونطوری که ذخیره شده!) نمایش بدم. ولی تمیز نیست!

یه سری اطلاعات اضامی داره!

مثلا آدرس خود فایل تکست + زمان ثبت اطلاعات + آی پی کاربر رو نمایش میده که من نمیخوام اونا باشه.

حالا نیاز دارم که همون اطلاعات بصورت خط به خط زیر هم (منظورم هر خط بصورت جداگانه است) با این تفاوت که :

1- اطلاعات هر خط از مشخصه -ID-: به بعد نشون داده بشه.
2- فقط 10 خط از انتهای فایل تکست نشون داده بشه.

یه دنیا ممنونم :خجالت:

MMSHFE
پنج شنبه 07 اردیبهشت 1391, 11:48 صبح
خوب کدی که دادم همون کار رو میکنه. امتحانش کردم. درصورت تمایل، فایل متنی اصلی رو ضمیمه کنید تا روی همون کار کنم. موفق باشید.

srayaneh
پنج شنبه 07 اردیبهشت 1391, 22:26 عصر
سلا رئیس :لبخندساده:

حقیقتش با هزار بدبختی خودم حلش کردم ولی یه مشکلی با تمیز نشون دادن محتوا دارم اگه میخوای خودت یه نگاهی بهش بنداز :


<?php

$lines = file("http://www.vatir.org/.../atc_booking.txt");
$top5 = array_slice(array_reverse($lines),0,6);
$content=str_replace('vatir.org/booking/atc/atc_form.php|2012-',' ',$top5);
$content2=str_replace('|',' ',$content);
$content3=str_replace('Name:',' ........ ',$content2);
$content4=str_replace('ID:',' ........ ',$content3);
$content5=str_replace('Facility:',' ........ ',$content4);
$content6=str_replace('Date:',' ........ ',$content5);
$content7=str_replace('From:',' ......... ',$content6);
$content8=str_replace('To:',' ...... ',$content7);
foreach($content8 as $line)
{
echo $line . "<br />";
}


?>

اینم صفحه نمایش اطلاعاتمه : http://vatir.org/booking/reserve.php

srayaneh
پنج شنبه 07 اردیبهشت 1391, 22:28 عصر
سلا رئیس :لبخندساده:

حقیقتش با هزار بدبختی خودم حلش کردم ولی یه مشکلی با تمیز نشون دادن محتوا دارم اگه میخوای خودت یه نگاهی بهش بنداز :


<?php

$lines = file("http://www.vatir.org/.../atc_booking.txt");
$top5 = array_slice(array_reverse($lines),0,6);
$content=str_replace('vatir.org/booking/atc/atc_form.php|2012-',' ',$top5);
$content2=str_replace('|',' ',$content);
$content3=str_replace('Name:',' ........ ',$content2);
$content4=str_replace('ID:',' ........ ',$content3);
$content5=str_replace('Facility:',' ........ ',$content4);
$content6=str_replace('Date:',' ........ ',$content5);
$content7=str_replace('From:',' ......... ',$content6);
$content8=str_replace('To:',' ...... ',$content7);
foreach($content8 as $line)
{
echo $line . "<br />";
}


?>

اینم صفحه نمایش اطلاعاتمه : http://vatir.org/booking/reserve.php

حالا این کارمو راه انداخته ولی اگه میشد اون اطلاعات مرتب زیر هم قرار میگرفت خیلی خوب بود :افسرده:

MMSHFE
جمعه 08 اردیبهشت 1391, 19:48 عصر
فایل متنی رو میشه بگذارین تا روش کار کنم؟

srayaneh
شنبه 09 اردیبهشت 1391, 04:36 صبح
فایل متنی رو میشه بگذارین تا روش کار کنم؟
اول : http://www.vatir.org/booking/atc/atc_booking.txt
دوم : http://www.vatir.org/booking/flight/flight_booking.txt
صفحه نمایش نتایج : http://vatir.org/booking/reserve.php

اگه بشه اطلاعات رو سر جای خودش نشون داد خیلی عالی میشه.

راهنمایی : با توجه به اینکه اطلاعات هر رشته فقط قابلیت نمایش در یک رشته رو دارند (یعنی به صورت جدول نیست!) اگه می شد فاصله ها رو میزون کرد خیلی عالی میشد.

بازم ازت ممنونم

MMSHFE
شنبه 09 اردیبهشت 1391, 13:48 عصر
این هم از کد اصلاح شده. اگه سؤالی بود بفرمایید.

srayaneh
یک شنبه 10 اردیبهشت 1391, 05:16 صبح
این هم از کد اصلاح شده. اگه سؤالی بود بفرمایید.

واییییییییییییییییییییییی یی :تشویق:

فوقالعاده بود!!! یه دنیا ممنون! واقعا عالی بوددددددددد

srayaneh
یک شنبه 10 اردیبهشت 1391, 05:18 صبح
دیگه روم نمیشه ازت درخواستی داشته باشم!!:خجالت:

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

srayaneh
یک شنبه 10 اردیبهشت 1391, 07:56 صبح
راستی کجای این کد میشه تعیین کرد که چنتا از نتایج رو نشون بده :متفکر:؟

مثلا 7 تا نتیجه آخر رو بهم نشون بده.

MMSHFE
یک شنبه 10 اردیبهشت 1391, 23:21 عصر
چطور میشه یه کاری کرد که همه حروف بزرگ نشون داده بشند؟:خجالت:
رشته اي كه قراره چاپ بشه رو بفرستين به تابع strtoupper و خروجي اين تابع رو چاپ كنيد. مثال:

echo strtoupper('hello');

راستی کجای این کد میشه تعیین کرد که چنتا از نتایج رو نشون بده :متفکر:؟
مثلا 7 تا نتیجه آخر رو بهم نشون بده.
بايد آرايه هاي atc$ و flight$ رو با يك حلقه از آخرين انديس به عقب نمايش بدين و فقط 7 مورد آخر رو نشون بدين. مثال:


$atc = array_reverse($atc);
for($i = 0; $i < 7 && $i < count($atc); $i++) {
echo $atc[$i];
}

MMSHFE
یک شنبه 10 اردیبهشت 1391, 23:23 عصر
واییییییییییییییییییییییی یی :تشویق:

فوقالعاده بود!!! یه دنیا ممنون! واقعا عالی بوددددددددد
خواهش ميكنم. فقط بعنوان يادآوري: دكمه تشكر كاربرد قشنگتري داره :چشمک:

srayaneh
دوشنبه 11 اردیبهشت 1391, 18:42 عصر
رشته اي كه قراره چاپ بشه رو بفرستين به تابع strtoupper و خروجي اين تابع رو چاپ كنيد. مثال:

echo strtoupper('hello');

بايد آرايه هاي atc$ و flight$ رو با يك حلقه از آخرين انديس به عقب نمايش بدين و فقط 7 مورد آخر رو نشون بدين. مثال:


$atc = array_reverse($atc);
for($i = 0; $i < 7 && $i < count($atc); $i++) {
echo $atc[$i];
}


:اشتباه: نتونستم این کدها رو سرجاشون بذارم. هرچی گذاشتم خراب شد.
راستی قبلا که خروجی می گرفتم جدیدترها رو بالاتر نشون می داد ولی الان پایین تر نشون میده.

من خیلی باعث زحمتت شدم. اگر اگر اگر وقت کردی اون تغییرات رو که کداشو دادی و من نتونستم انجامش بدم توی کد اصلی که قبلا داده بودی ملزوم کن. بازم می گم که تا همینجاشم خیلی خیلی زحمت کشیدی. واقعا شرمندتم و اگه فکر میکنی جوری میتونم جبران کنم حتما بهم بگو. هزینه ای یا هر کاری که از دستم بر میاد! واقعا خوشحال میشم دوست من :خجالت:

MMSHFE
سه شنبه 12 اردیبهشت 1391, 10:25 صبح
این فایل رو دریافت کنید.

srayaneh
چهارشنبه 13 اردیبهشت 1391, 05:15 صبح
این فایل رو دریافت کنید.

واقعا ازت ممنونم...خیلی خیلی زیاد...

فقط انگار اون نشون دادن حروف به صورت "بزرگ" رو توی فایل منظور نکرده بودین که دیگه مسئله ای نیست! از این بیشتر باعث زحمتت نمیشم :خجالت:

یه دنیا از محبتت ممنونم و واقعا از ته دلم برات آرزوی موفقیت می کنم.
انشالا هرچی تو زندگیت میخوای بهش برسی :چشمک:

MMSHFE
چهارشنبه 13 اردیبهشت 1391, 08:08 صبح
شرمنده اينو يادم رفت. البته كار سختي نيست. كافيه هرچي جلوي echo هست رو توي پرانتز بگذارين و قبل از پرانتز (بعد از echo) تابع strtoupper رو بگذارين. مثال:


echo $str;
// should be
echo strtoupper($str);

MMSHFE
چهارشنبه 13 اردیبهشت 1391, 09:30 صبح
اینم از نسخه کامل شده. موفق باشید.

srayaneh
چهارشنبه 13 اردیبهشت 1391, 20:41 عصر
واقعا ازت ممنونم!

بینهایت بهم لطف کردی. وقت زیادی برام گذاشتی و ازت سپاسگزارم
:چشمک: همیشه سربلند و موفق باشی...