حذف تگهای HTML
ورودی HTML
خروجی متن ساده
جزئیات فنی
ابزار حذف تگهای HTML چگونه کار میکند
این ابزار چه کاری انجام میدهد
Strip HTML Tags همهٔ نشانهگذاریهای HTML را از متن حذف میکند و محتوای قابل مشاهده را بهصورت متن ساده برمیگرداند. این ابزار تگهای باز و بسته، ویژگیها، تگهای خودبسته، کامنتها و ساختارهای تودرتو را مدیریت میکند. رفتارهای اختیاری شامل دیکد کردن موجودیتهای رایج HTML (&, ©, €)، حفظ شکست خط در تگهای سطح بلوک و عناصر br، و حذف کامل بلوکهای script و style است تا محتوای آنها به خروجی نشت نکند.
موارد استفادهٔ رایج برای توسعهدهندگان
از Strip HTML Tags برای تبدیل ایمیلهای متن غنی یا محتوای CMS به متن ساده برای خلاصههای SMS، پاکسازی HTML اسکرپشده پیش از ذخیره در یک ایندکس جستوجو، استخراج محتوای خواندنی یک مقاله برای خلاصهسازی، یا تمیز کردن دادهٔ کلیپبورد پس از کپی از یک صفحهٔ وب رندرشده استفاده کنید. همچنین هنگام آمادهسازی فیکسچرهای تست از صفحات HTML تولیدی که فقط محتوای متنی اهمیت دارد، مفید است.
قالبها، نوعها یا گونههای داده
ورودی هر نوع نشانهگذاری HTML یا XML-مانند است؛ خروجی متن سادهٔ UTF-8 است. ارجاعهای عددی موجودیت مانند € و € به نویسههای یونیکدشان دیکد میشوند و مجموعهٔ گستردهای از موجودیتهای نامدار (&, <, >, ", ', , ©, ®, ™, …, —, –, نقلقولهای هوشمند) پشتیبانی میشود. وقتی حفظ شکست خط روشن باشد، تگهای بستهٔ p، div، li، h1–h6، br و دیگر عناصر سطح بلوک به خط جدید تبدیل میشوند و چند خط خالیِ پیاپی به یک خط خالی کاهش مییابد.
دامهای رایج و حالتهای لبهای
حذف HTML مبتنی بر regex هنگام مواجهه با ورودی مخرب جایگزین یک پارسر واقعی HTML نیست — نباید برای پاکسازی HTML غیرقابلاعتماد پیش از تزریق دوباره در جای دیگر استفاده شود. نشانهگذاری معیوب با تگهای نامطابق ممکن است فاصلهگذاریهای غیرمنتظره ایجاد کند. تصاویر base64 توکار، اسکریپتهایی که شامل رشتههایی شبیه تگ هستند، و بخشهای CDATA همگی حالتهای لبه دارند. برای پاکسازی سمتسرور در محیط تولید، بهجای آن از یک کتابخانهٔ آزموده مانند DOMPurify، sanitize-html یا bleach استفاده کنید.
چه زمانی از این ابزار استفاده کنیم در برابر کُد
وقتی به تبدیل یکبارهٔ یک بخش HTML به متن ساده نیاز دارید — مثلاً تمیز کردن یک صفحهٔ اسکرپشده یا بدنهٔ ایمیل کپیشده — از این ابزار مرورگری استفاده کنید. در کد برنامه، کتابخانههای هدفمند را ترجیح دهید: DOMPurify برای پاکسازی، html-to-text یا htmlparser2 برای استخراج ساختیافتهٔ متن، و Cheerio یا jsdom وقتی لازم است DOM را پیمایش کنید. این کتابخانهها حالتهای لبهای مانند جدولهای تودرتو، اعلانهای encoding و کامنتهای شرطی را نسبت به یک گذر regex مقاومتر مدیریت میکنند.