برگزیده های پرشین تولز

انتخاب بخش مشخصی از یک متن !

mohsenshahbazi

همکار بازنشسته
کاربر فعال
تاریخ عضویت
21 ژوئن 2004
نوشته‌ها
4,025
لایک‌ها
3,825
محل سکونت
اصفهان
سلام !
ما یه متنی داریم مثل این :
PHP:
<a href="#">Bookmark</a>
<div id=link>
<a href="www.domain.com">Link title</a>
</div>
<strong>title</strong>
حالا میخوام کلیه متنهایی که بعد از
PHP:
<div id=link>
اومده رو بگیرم . و پایان این انتخاب اینجا باشه .
PHP:
</div>

چه روشی رو پیشنهاد میکنید ؟
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
PHP:
$html = <<<CODE
<a href="#">Bookmark</a>
<div id=link>
<a href="www.domain.com">Link title</a>
</div>
<strong>title</strong>
CODE;

$is_match = preg_match('@<div id=link>(.*)</div>@s', $html, $match);
echo $match[1];
 

mohsenshahbazi

همکار بازنشسته
کاربر فعال
تاریخ عضویت
21 ژوئن 2004
نوشته‌ها
4,025
لایک‌ها
3,825
محل سکونت
اصفهان
وقتی از کد دوم استفاده میکنم ... به جای این که متن انتخاب شده رو در خروچی بده ..متن مورد نظر رو میده ..به اضافه مابقی محتوای متغیر . !!
 

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
اینو امتحان کن
th_Minkoff.gif

این با substr هستش :
PHP:
function extract($str, $start, $end)
{
   $str_low = strtolower($str);
   $pos_start = strpos($str_low, $start);
   $pos_end = strpos($str_low, $end, ($pos_start + strlen($start)));
   if ( ($pos_start !== false) && ($pos_end !== false) )
   {
       $pos1 = $pos_start + strlen($start);
       $pos2 = $pos_end - $pos1;
       return substr($str, $pos1, $pos2);
   }
}
// Put This one Anywhere You want
echo extract($YourString,"<div id=link>","</div> ");
 

mohsenshahbazi

همکار بازنشسته
کاربر فعال
تاریخ عضویت
21 ژوئن 2004
نوشته‌ها
4,025
لایک‌ها
3,825
محل سکونت
اصفهان
اینو تو کامنت های preg_match دیدم :d
تست کردم ..این هم جواب نداد .
 

Mehdi

مدیر بازنشسته
تاریخ عضویت
1 آگوست 2004
نوشته‌ها
5,602
لایک‌ها
49
محل سکونت
Anywhere
جواب میده , اگه جواب نمیداد تو ارشیو کدهام نگهش نمیداشتم
300.gif
.
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
اينطوري كه شما ميگي من احساس مي كنم متن اوليه شما بزرگتر از ايني هست كه اينجا نوشتي. براي نوشتن يك regular expression بايد به كل متن توجه داشت و با يك قسمت از اون نميشه كاري كرد.
 
بالا