فك تشفير كيانات HTML مجاني على الإنترنت
فك تشفير كيانات HTML إلى أحرفها الأصلية.
ما هو فك تشفير كيانات HTML؟
يحول فك تشفير كيانات HTML كيانات HTML (مثل < و > و &) إلى أحرفها الأصلية. هذا مفيد عندما تحتاج إلى تحويل HTML المشفر مرة أخرى إلى نص قابل للقراءة أو كود HTML فعلي.
Common Uses of HTML Entity Decoding
- Web Scraping and Data Extraction: When scraping web pages or parsing HTML documents, extracted text sometimes contains HTML entities. Decode these entities to get clean, readable text for analysis, search indexing, or storage. For example, scraping a product description that contains "5" screen" should decode to "5" screen".
- API Response Processing: Some APIs return HTML-entity-encoded data in JSON or XML responses. When consuming these APIs, decode the encoded strings to get usable text. For example, an API might return {"title": "Q&A Session"}, which needs decoding to "Q&A Session" for display or further processing.
- Content Migration and Data Import: When migrating content between systems (moving from WordPress to another CMS, importing blog posts from XML, converting legacy databases), content is often stored with HTML entities. Decoding these entities to plain text or properly formatted HTML is necessary for the migration. For example, blog titles stored as "How to Use <div> Tags" need decoding to "How to Use <div> Tags" for display or search indexing.
- seo.html_decode.use_debugging seo.html_decode.use_debugging_desc
كيف يعمل فك تشفير كيانات HTML؟
يعكس فك تشفير كيانات HTML عملية الترميز عن طريق تحويل مراجع الكيانات مرة أخرى إلى أحرفها الأصلية. يتعرف فك التشفير على الكيانات المسماة (مثل &amp;) والكيانات الرقمية (مثل &#38; أو &#x26;). إليك العملية التقنية:
- الخطوة 1 - مسح مراجع الكيانات: يقرأ فك التشفير النص بحثًا عن أحرف العطف (&) التي تبدأ مراجع الكيانات، وتنتهي بفاصلة منقوطة (;).
- الخطوة 2 - تحديد نوع الكيان: يتم البحث عن الكيانات المسماة (على سبيل المثال، &، <، >) في جدول كيانات HTML. يتم تحليل الكيانات الرقمية التي تبدأ بـ &# كأرقام عشرية؛ وتلك التي تبدأ بـ &#x يتم تحليلها كأرقام سداسية عشرية.
- الخطوة 3 - التحويل إلى حرف: يتم استبدال كل كيان بحرف Unicode المقابل له. على سبيل المثال، & تصبح &، < تصبح <، é تصبح é.
- الخطوة 4 - تمرير غير الكيانات: النص الذي لا يطابق أي نمط كيان يُترك دون تغيير. قد تُترك الكيانات غير الصالحة أو غير المعروفة كما هي أو تُعالج وفقًا لقواعد تحليل HTML.
مثال: "<p>Hello & welcome</p>" تُفك تشفيرها إلى "<p>Hello & welcome</p>". يتم استبدال الكيانات المسماة بأحرفها المقابلة.
Understanding HTML Entity Decoding
تطور ترميز كيانات HTML مع HTML نفسه. تحدد مواصفات HTML5 مراجع الأحرف المسماة (مثل < > &) والمراجع الرقمية (< أو <). يمنع ترميز الكيانات المتصفحات من تفسير الأحرف الخاصة كعلامات HTML، مما يجعله لا غنى عنه للأمان وعرض المحتوى.
Security Warnings for HTML Decoding
HTML decoding converts entities back to special characters. Never decode and display untrusted content without re-encoding it first, as this can enable XSS attacks. تعرف على أمان الترميز
فك تشفير كيانات HTML في لغات البرمجة
فك تشفير كيانات HTML متاح في جميع لغات البرمجة الرئيسية. إليك الأمثلة:
// html_entity_decode() - standard decoding
$decoded = html_entity_decode($encoded, ENT_QUOTES, 'UTF-8');
// Decodes: < > & " ' and all HTML entities
// htmlspecialchars_decode() - decodes only basic entities
$decoded = htmlspecialchars_decode($encoded, ENT_QUOTES);
// Decodes: < > & " ' only
// Example: Processing API response
$apiData = json_decode($response, true);
$title = html_entity_decode($apiData['title'], ENT_QUOTES, 'UTF-8');
// Safe decoding using DOMParser
function htmlDecode(str) {
const parser = new DOMParser();
const doc = parser.parseFromString(str, 'text/html');
return doc.documentElement.textContent;
}
// Using textarea element (alternative)
function htmlDecode(str) {
const textarea = document.createElement('textarea');
textarea.innerHTML = str;
return textarea.value;
}
// WARNING: Never use innerHTML with untrusted data
// element.innerHTML = encoded; // DANGEROUS if untrusted
import html
# html.unescape() - decodes all HTML entities
decoded = html.unescape(encoded)
# Decodes: < > & < < etc.
# Example: Processing API response
import json
data = json.loads(response)
title = html.unescape(data['title'])
# BeautifulSoup (for HTML parsing with auto-decode)
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
text = soup.get_text() # Automatically decodes entities
import "html"
// html.UnescapeString() - decodes HTML entities
decoded := html.UnescapeString(encoded)
// Decodes: < > & " ' etc.
// Example: Processing XML feed
type RSSItem struct {
Title string `xml:"title"`
Description string `xml:"description"`
}
// Decode after parsing
item.Title = html.UnescapeString(item.Title)
// Apache Commons Text (recommended)
import org.apache.commons.text.StringEscapeUtils;
String decoded = StringEscapeUtils.unescapeHtml4(encoded);
// Decodes all HTML4 entities
// Example: Processing API response
import com.google.gson.Gson;
ApiResponse response = gson.fromJson(json, ApiResponse.class);
String decodedTitle = StringEscapeUtils.unescapeHtml4(response.getTitle());
// Jsoup (for HTML parsing with auto-decode)
import org.jsoup.Jsoup;
String decoded = Jsoup.parse(encoded).text();
require 'cgi'
# CGI.unescapeHTML() - decodes HTML entities
decoded = CGI.unescapeHTML(encoded)
# Decodes: < > & " etc.
# Nokogiri (for HTML parsing with auto-decode)
require 'nokogiri'
doc = Nokogiri::HTML(html_content)
text = doc.text # Automatically decodes entities
# Example: Processing RSS feed
require 'rss'
rss = RSS::Parser.parse(feed_content)
rss.items.each do |item|
title = CGI.unescapeHTML(item.title)
end
using System.Web;
using System.Net;
// HttpUtility.HtmlDecode() - decodes HTML entities
string decoded = HttpUtility.HtmlDecode(encoded);
// Decodes all HTML entities
// WebUtility (no System.Web dependency)
string decoded = WebUtility.HtmlDecode(encoded);
// Example: Processing API response
var jsonData = JsonConvert.DeserializeObject<ApiResponse>(json);
string decodedTitle = HttpUtility.HtmlDecode(jsonData.Title);
Related Tools
Need to encode text to HTML entities? Use our HTML Entity Encoder to convert < > & to < > & for safe display.
Decoding URL-encoded strings? Try our URL Decoder to convert %XX sequences back to characters.
Decoding Base64 data? Use our Base64 Decoder to convert Base64 strings to original text or binary.