نمایش نتایج 1 تا 12 از 12

نام تاپیک: سوال: چند حرف قبل، چند حرف بعد!

  1. #1
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146

    سوال: چند حرف قبل، چند حرف بعد!

    سلام.
    چه جوری میشه از یه چند حرف (کلمه) قبل تا بعد یه جستجو رو که با like گرفتیمو نشون داد؟
    مرسی.

  2. #2
    من راستش دقیقا منظورتونو متوجه نشدم .
    اما فکر کنم میخوای از یک کلمه فقط چند حرفشو نشو ن بدی و بقیه اونو نقطه بزاری . اگه اینه و با php کار میکنی میتونی از مدل زیر استفاده کنی . من اینو از iranphp.net گرفتم

    <?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>
    *
    * 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
    ?>

  3. #3
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146
    ممنون از جوابتون.
    منظورم این نبود!
    یعنی مثلا شما تو یه text دنبال کلمه book میگردین. من بتونم مثلا اون جمله ای رو که این کلمه توش قرار داره رو نشون بدم.
    مرسی

  4. #4
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    شما فیلد رو انتخاب می کنی، از اون به بعدش به php مربوط میشه و از طریق اون (و شاید عبارات منظم) می تونی متن مورد نظر رو انتخاب کنی.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  5. #5
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146
    مزسی از جوابتون
    مگه میشه mysql به این عظمت، یه همچین چیزی نداشته باشه؟
    بعد من یه متن چند مگی رو بیارم تو پی اچ پی بعد توش بگردم دنبالش دوباره (بدون ایندکس و سرچ کاراکتر به کاراکتر) ؟ cpu-usage و چیکار کنم؟
    مای اسکیو ال حتما باید یه چیزی داشته باشه که حد اقل بگه این سرچ از کاراکتر چندم شروع شده و یا حتی بیشتر.

  6. #6
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    cpu-usage و چیکار کنم؟
    cpu usage که چندان فرقی نمی کنه! ولی حافظه مصرف میشه.

    مگه میشه mysql به این عظمت، یه همچین چیزی نداشته باشه؟
    فکر کنم عبارات منظم کمی بتونه کمکت کنه
    http://dev.mysql.com/doc/refman/5.0/en/regexp.html

    و تمامی توابع مربط به رشته ها رو می تونی اینجا ببینی، توشون substring و position و ... هم میابی:
    http://dev.mysql.com/doc/refman/5.0/...functions.html

    موفق باشی.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  7. #7
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146
    نقل قول نوشته شده توسط oxygenws
    cpu usage که چندان فرقی نمی کنه! ولی حافظه مصرف میشه.
    فرقی نمیکنه؟! شما دیگه چرا استاد. یه تسک منیجر باز کنید (با عرض معذرت از لینوکسی ها!) ببینید تو یه تکست 100 تا 200k بدون ایندکس (مثلا با strops) usage آپاچی چقد میشه و برای چه قدر!

    نقل قول نوشته شده توسط oxygenws
    فکر کنم عبارات منظم کمی بتونه کمکت کنه
    http://dev.mysql.com/doc/refman/5.0/en/regexp.html

    و تمامی توابع مربط به رشته ها رو می تونی اینجا ببینی، توشون substring و position و ... هم میابی:
    http://dev.mysql.com/doc/refman/5.0/...functions.html
    ممنونم. احتمالا همین که گفتین جواب میده.
    مرسی.

  8. #8
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    فرقی نمیکنه؟! شما دیگه چرا استاد. یه تسک منیجر باز کنید (با عرض معذرت از لینوکسی ها!) ببینید تو یه تکست 100 تا 200k بدون ایندکس (مثلا با strops) usage آپاچی چقد میشه و برای چه قدر!
    چون این عمل به هر ترتیب باید انجام بشه، چه اینکه سمت mysql انجام بشه و چه اینکه سمت php...
    شاید عمل فوق در آپاچی (یا php) کلی پروسس بگیره، اما مسلما اگر با بانک هم انجام بدید، باز هم کلی پروسس می گیره!!! :)

    ممنونم. احتمالا همین که گفتین جواب میده.
    ممنون می شم نتیجه نهایی رو هم همینجا بنویسی تا مابقی دوستان هم فیض ببرند(کوئری نهایی)

    موفق باشی :)
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  9. #9
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146
    نقل قول نوشته شده توسط oxygenws
    چون این عمل به هر ترتیب باید انجام بشه، چه اینکه سمت mysql انجام بشه و چه اینکه سمت php...
    شاید عمل فوق در آپاچی (یا php) کلی پروسس بگیره، اما مسلما اگر با بانک هم انجام بدید، باز هم کلی پروسس می گیره!!! :)
    نه دیگه! این مقدار بالای سی پی یو، فقط یه بار و اونم موقع ساختن ایندکس مصرف میشه و سر درخواست های بعدی، سرعت (عکس سی پی یو) اینجوری که تو داکیومنتا اومده، حد اقل بین 5 تا 8 برابر میشه (بستگی به متن داره). وگرنه اصلا ایندکسینگ برای چی لازمه!!! :)

  10. #10
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    نه دیگه! این مقدار بالای سی پی یو، فقط یه بار و اونم موقع ساختن ایندکس مصرف میشه و سر درخواست های بعدی، سرعت (عکس سی پی یو) اینجوری که تو داکیومنتا اومده، حد اقل بین 5 تا 8 برابر میشه (بستگی به متن داره). وگرنه اصلا ایندکسینگ برای چی لازمه!!! :)
    من اونقدر در مورد ایندکسینگ روی رشته های بزرگ در بانک اطلاع ندارم، اما فکر می کنم در حالت عادی هیچ فرقی نخواهد کرد، یعنی ایندکسینگ به این عملی که شما لازم دارید (چندین بار جستجو در کل یک رشته) تاثیری نداشته باشد.
    (در مورد فول تکست سرچ نظر نمی دم، چون با ساختار بنیادی اون هم آشنا نیستم، اما همچنان فکر می کنم هیچ ربطی نداشته باشه به مثلا substring!!!)
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

  11. #11
    کاربر دائمی
    تاریخ عضویت
    شهریور 1383
    محل زندگی
    Tehran
    پست
    146
    آنقدر بدیهی است که نیازی به ادامه بحث ندارد.

  12. #12
    . آواتار oxygenws
    تاریخ عضویت
    دی 1382
    محل زندگی
    تهران/مشهد
    پست
    6,333
    آنقدر بدیهی است که نیازی به ادامه بحث ندارد.
    ممنون که مانع یاد گرفتن من و مابقی دوستان می شوی.
    داریم بحث علمی می کنیم، اگر برای شما *بدیهی* است، مرحمت کنید و به ما هم آموزش دهید.
    ایمیل من
    سایت من

    عضویت در جامعه‌ی اهدای عضو

    Direct PGP key: http://tinyurl.com/66q5cy
    PGP key server: keyserver.ubuntu.com
    PGP name to search: omidmottaghi

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •