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

نام تاپیک: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

  1. #1
    کاربر تازه وارد آواتار xerror
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    56

    Question جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    سلام

    چگونه می‌توان متنی را در یک متن حاوی کدهای html جستجو کرد به صورتی که برخی تگ های html و محتوایش مثل تگ a یا img را در نظر نگیرد و از آنها گذر کند و در صورتی که با متن تعریف شده مطابقت داشت آن را جایگزین متن دیگری کند.

    با تشکر

  2. #2
    کاربر تازه وارد آواتار Hr.Ziggurat
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    سن
    32
    پست
    38

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    سلام ، یه مثال از متن و رشته ای که قراره توش پیدا بشه بزن...

  3. #3
    کاربر تازه وارد آواتار xerror
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    56

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    مثلا شما کد html همین صفحه رو در نظر بگیرید بعد "سلام" یا "سلام علیکم" رو توش پیدا کنه و "علی" جایگزین کنه.

    ولی من می‌خواهم مثلا وقتی این "سلام" لینک شده بود یا به عنوان خصوصیت title یک تگ img تعریف شده بود کاری بهش نداشته باشه و جایگزین نشه.

  4. #4
    کاربر تازه وارد آواتار Hr.Ziggurat
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    سن
    32
    پست
    38

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html


    $t = "<html><head></head><body><img title='Salam' />Salam<a href='alakie'>Salam</a></body></html>";
    $orgstring = "Salam";
    $replacementstring = "Ali";

    $o = explode($orgstring,$t);
    $output = $o[0];
    for($i=1;$i<count($o);$i++){
    if(preg_match('/<img *([A-z]|\=)*title *= *(\'|\")$/i',$o[$i]) || preg_match('/<a *([A-z]|\=| |\'|\")*>$/i',$o[$i]))
    $output.=$replacementstring.$o[$i];
    else
    $output.=$orgstring.$o[$i];
    }
    $output.=$o[count($o)-1];


    echo $output;

    متغییر t کد html اصلیه ، متغییر orgstring رشته ای که باید جایگزین بشه و replacementstring هم رشته ی که به جای رشته ی اولیه جایگزین میشه.
    اگه مشکلی داشت بگو.

  5. #5
    کاربر تازه وارد آواتار Hr.Ziggurat
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    سن
    32
    پست
    38

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    با جاوا اسکریپت هم به همین راحتی میشه این کارو کرد.

  6. #6
    کاربر تازه وارد آواتار xerror
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    56

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    سلام

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

    برای مثال:

    "جوان ایرانی" جایگزین "جوان خوب ایرانی" شود.

    ممنون

  7. #7
    کاربر تازه وارد آواتار Hr.Ziggurat
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    سن
    32
    پست
    38

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html


    function AnalyseHTML($t,$orgstring,$replacementstring){
    $o = spliti($orgstring,$t);
    $output = $o[0];
    for($i=1;$i<count($o);$i++){
    if(!(preg_match('/<img *([A-z]|\=)*title *= *(\'|\")$/i',$o[$i-1]) || preg_match('/<a *([A-z]|\=| |\'|\")*>$/i',$o[$i-1])))
    $output.=$replacementstring.$o[$i];
    else
    $output.=$orgstring.$o[$i];
    }
    return $output;
    }
    $html = "<html><head></head><body>Ziggurat<IMG title='Salam' />Salam<a href='alakie'>Salam</a></body></html>";
    $a1 = AnalyseHTML($html,"SalAm","Hi Ali");
    echo AnalyseHTML($a1,"Ziggurat","HR.Ziggurat");

  8. #8
    کاربر تازه وارد آواتار xerror
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    56

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    این تابع spliti توی پی اچ پی ۵ Deprecated شده!

    جایگزینی براش وجود نداره؟

  9. #9
    کاربر تازه وارد آواتار Hr.Ziggurat
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    کرج
    سن
    32
    پست
    38

    نقل قول: جایگزینی متنی در متنی حاوی کدهای html بدون در نظر گرفتن برخی تگ‌های html

    $o = preg_split('/'.$orgstring.'/i',$t);

    تو گوگلم پیدا میشد...

تاپیک های مشابه

  1. پاک کردن یک node بدون در نظر گرفتن garbage collector
    نوشته شده توسط mostafa_ra در بخش برنامه‌نویسی جاوا
    پاسخ: 1
    آخرین پست: سه شنبه 15 آبان 1386, 16:26 عصر
  2. پاک کردن NODE بدون در نظر گرفتن Garbage collector
    نوشته شده توسط mostafa_ra در بخش Java SE : نگارش استاندارد جاوا
    پاسخ: 1
    آخرین پست: یک شنبه 13 آبان 1386, 16:14 عصر
  3. جستجو در یک فیلد بدون در نظر گرفتن کدهای HTML
    نوشته شده توسط tabib_m در بخش MySQL
    پاسخ: 1
    آخرین پست: یک شنبه 05 فروردین 1386, 21:49 عصر
  4. پاسخ: 7
    آخرین پست: شنبه 14 مرداد 1385, 02:00 صبح
  5. پاسخ: 3
    آخرین پست: شنبه 21 آبان 1384, 10:43 صبح

برچسب های این تاپیک

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

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