Darmowy Dekoder Encji HTML Online

Dekoduj encje HTML z powrotem do ich oryginalnych znaków.

0 znaków

Czym jest dekodowanie encji HTML?

Dekodowanie encji HTML konwertuje encje HTML (takie jako <, >, &) z powrotem do ich oryginalnych znaków. Jest to przydatne, gdy trzeba przekonwertować zakodowany HTML z powrotem na czytelny tekst lub rzeczywisty kod 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 &lt;div&gt; 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

Jak działa dekodowanie encji HTML?

Dekodowanie encji HTML odwraca proces kodowania, konwertując odniesienia do encji z powrotem na ich oryginalne znaki. Dekoder rozpoznaje zarówno nazwane encje (jak &amp;) jak i encje numeryczne (jak &#38; lub &#x26;). Oto proces techniczny:

  • Krok 1 - Skanowanie odniesień do encji: Dekoder czyta tekst szukając znaków ampersand (&), które rozpoczynają odniesienia do encji, kończąc się średnikiem (;).
  • Krok 2 - Identyfikacja typu encji: Nazwane encje (np. &, <, >) są wyszukiwane w tabeli encji HTML. Encje numeryczne rozpoczynające się od &# są parsowane jako dziesiętne; te rozpoczynające się od &#x są parsowane jako szesnastkowe.
  • Krok 3 - Konwersja na znak: Każda encja jest zastępowana odpowiadającym jej znakiem Unicode. Na przykład, & staje się &, < staje się <, é staje się é.
  • Krok 4 - Przepuszczenie nie-encji: Tekst, który nie pasuje do żadnego wzorca encji, pozostaje niezmieniony. Nieprawidłowe lub nieznane encje mogą być pozostawione bez zmian lub obsłużone zgodnie z regułami parsowania HTML.

Przykład: "<p>Hello & welcome</p>" dekoduje się do "

Hello & welcome

". Nazwane encje są zastępowane odpowiadającymi im znakami.

Understanding HTML Entity Decoding

Kodowanie encji HTML ewoluowało wraz z samym HTML. Specyfikacja HTML5 definiuje nazwane odniesienia do znaków (takie jako &lt; &gt; &amp;) i odniesienia numeryczne (&#60; lub &#x3C;). Kodowanie encji zapobiega interpretowaniu przez przeglądarki znaków specjalnych jako znaczników HTML, co czyni je niezbędnym dla bezpieczeństwa i wyświetlania treści.

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. Learn about encoding security

Dekodowanie encji HTML w językach programowania

Dekodowanie encji HTML jest dostępne we wszystkich głównych językach programowania. Oto przykłady:

// html_entity_decode() - standard decoding
$decoded = html_entity_decode($encoded, ENT_QUOTES, 'UTF-8');
// Decodes: &lt; &gt; &amp; &quot; &#39; and all HTML entities

// htmlspecialchars_decode() - decodes only basic entities
$decoded = htmlspecialchars_decode($encoded, ENT_QUOTES);
// Decodes: &lt; &gt; &amp; &quot; &#39; 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: &lt; &gt; &amp; &#60; &#x3C; 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: &lt; &gt; &amp; &quot; &#39; 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: &lt; &gt; &amp; &quot; 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.