• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استخراج متن بین دو تگ
#1
یه سوال داشتم ممنون میشم اگه امکانش هست جواب بدین.
کد زیر تگ هد و هرچیزی درونش هست رو از بین میبره و هرچی باقی موند به متغیر اختصاص پیدا میکنه.
کد پی‌اچ‌پی:
$alltextpreg_replace('/(<head>.*<\\/head>)/',NULL,$alltext); 
اما من میخوام بجای اینکه هرچیزی درون تگ هد هست از بین بره و دلیت بشه
بیاد بعنوان مقدار متغیر alltext معرفی بشه.
یه جورایی بجای اینکه NULL بشه مثلا یه راهی باشه که SET بشه رویه متغیر.
  پاسخ
تشکر شده توسط :
#2
باید از preg_match استفاده کنی:
کد پی‌اچ‌پی:
preg_match('/(<head>(.*)<\\/head>)/',$alltext,$matches);
print_r($matches); 
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط : lok23
#3
(۱۳۹۳ شهریور ۱۲, ۱۱:۴۹ ق.ظ)Maysam.m نوشته: باید از preg_match استفاده کنی:
کد پی‌اچ‌پی:
preg_match('/(<head>(.*)<\\/head>)/',$alltext,$matches);
print_r($matches); 

آقا من امتحان کردم فقط در حالت پرینت کار میکنه و خروجی اش یه چیزی مثل اینه:
Array ( [0] => text [1] => text [2] => text )
من خروجی text رو لازم دارم و از طرفی چون ممکنه text صدها خط باشه نمیتونم جاهایی که تکرار شده رو نال کنم.
من میخوام مقدار واقعا به متغیر اختصاص پیدا کنه و بعدش باز مراحل زیادی باید رویه متغیر انجام بدم و حتما باید مقدار به متغیر اختصاص پیدا کنه.
نه وقتی دستور اکو میدم بنویسه array
ممنونم که جوابم رو میدید و کار ما رو راه میندازید.
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۳ شهریور ۱۳, ۱۲:۳۲ ب.ظ)lok23 نوشته:
(۱۳۹۳ شهریور ۱۲, ۱۱:۴۹ ق.ظ)Maysam.m نوشته: باید از preg_match استفاده کنی:
کد پی‌اچ‌پی:
preg_match('/(<head>(.*)<\\/head>)/',$alltext,$matches);
print_r($matches); 

آقا من امتحان کردم فقط در حالت پرینت کار میکنه و خروجی اش یه چیزی مثل اینه:
Array ( [0] => text [1] => text [2] => text )
من خروجی text رو لازم دارم و از طرفی چون ممکنه text صدها خط باشه نمیتونم جاهایی که تکرار شده رو نال کنم.
من میخوام مقدار واقعا به متغیر اختصاص پیدا کنه و بعدش باز مراحل زیادی باید رویه متغیر انجام بدم و حتما باید مقدار به متغیر اختصاص پیدا کنه.
نه وقتی دستور اکو میدم بنویسه array
ممنونم که جوابم رو میدید و کار ما رو راه میندازید.

خیلی ساده است شما باید یکی از مقادیر آرایه رو استفاده کنی
کد پی‌اچ‌پی:
echo $matches[0];
echo 
$matches[1]; 
میثم محمودی | انجمن کد ایگنایتر فارسی
--------------------------
هرگز نمي توان با آدمهاي کوچک کارهاي بزرگ انجام داد
  پاسخ
تشکر شده توسط : lok23


پرش به انجمن:


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