۳ سیدرضا بازیار
مشکل در دریافت اطلاعات یک متن از صفحه html
جامعه پی اچ پی ایجاد شده در ۱۷ اردیبهشت ۱۴۰۱

سلام. من تعدادی صفحه html دانلود شده دارم که دارم داخل اونا متن‌های موجود در تگ div که کلاس DescriptionBox دارند رو میگیرم و به کاربر‌ها نمایش میدم

دارم با کد زیر انجامش میدم:

function returnXPathObj($item)
    {
        $xmlPageDom = new DomDocument();
        @$xmlPageDom->loadHTML($item);
        $xmlPageXPath = new DOMXPath($xmlPageDom);
        return $xmlPageXPath;
    }
$webPageXpath = returnXPathObj($CurlwebPage);
$loadPage = $webPageXpath->query('//div[@id="DescriptionBox"]');
$Description = $loadPage->item(0)->nodeValue ?? null;
echo $Description;

تابع اول میاد صفحات html من رو با دامداکیومنت دریافت میکنه و توی domxpath نیو میکنه و برمیگردونه و حالا بهش کوئری میدم که اون تگ با کلاس DescriptionBox رو دریافت کن

حالا مشکل از دو خط آخر شروع میشه! یعنی من بهش میگم $loadpage رو بگیر و هر چی داخلش هست رو بهم بده. همین کار رو میکنه ولی تگ‌ها رو نمیده!

مثلا اگه متن‌ها به شکل زیر باشه:

<p>7learnp>
<h1>7learn.comh1>

به صورت زیر برمیگردونه:

7learn 7learn.com

من به اون تگ‌ها احتیاج دارم و باید اونا هم برگرده. حالا راه حل چیه؟

سلام وقت بخیر

لطفاً کل فایل پروژه رو پیوست کنید تا تست کنم و مشکل رو رفع کنیم.

کیان سلگی ۱۷ اردیبهشت ۱۴۰۱، ۱۱:۰۱

پروژه رو پیوست کردم. یه پوشه هست که فایل من داخلش هست و با index.php دارم محتوای اون رو استخراج میکنم

حالا یه قسمت هست که CURLOPT_RETURNTRANSFER گذاشتم. اگه این TRUE بشه دیگه صفحه بر نمیگرده...

اون فایل حاوی دو تگ div و span هست. من بهش گفتم تگ div رو برام استخراج کن. حالا به دلیل روشن بودن CURLOPT_RETURNTRANSFER نمیتونه تگ‌های داخلش رو برام استخراج کنه و فقط متن خالی رو میگیره

سیدرضا بازیار ۱۷ اردیبهشت ۱۴۰۱، ۱۲:۱۳

بررسی میکنم خدمتتون اطلاع میدم

بهترین پاسخ
کیان سلگی ۱۷ اردیبهشت ۱۴۰۱، ۱۷:۲۷