Metin Temizleyici (Text Cleaner): Regex Desenleri ve DOM Sanitize İşlemleri
İnternetten kopyaladığınız veya eski bir veritabanından çektiğiniz (Export) metinler, dışarıdan masum görünse de arka planda devasa bir dijital çöp yığını barındırır. Gizli satır atlamaları (\r\n), sekmeler (Tabs: \t), gereksiz boşluklar ve özellikle Word gibi kelime işlemcilerden gelen gizli HTML/XML etiketleri, yazılımınızın "Parsing" (Ayrıştırma) sürecini felç eder. Geliştirdiğimiz bu profesyonel Metin Temizleme (Sanitization) Aracı, basit bir "trim()" fonksiyonunun ötesine geçerek gelişmiş Düzenli İfadeler (Regex) kalıplarıyla verinizi sanitize eder.
Özellikle "Kullanıcı Tarafından Oluşturulan İçerikleri" (UGC - User Generated Content) işlerken, kirli veriyi doğrudan DOM'a basmak veya veritabanına kaydetmek sadece görsel bir hata değil, çok ciddi bir siber güvenlik (XSS) zafiyetidir.
Veri Temizleme Algoritmaları Nasıl Çalışır?
Bir string (metin) dizisini "temiz" kabul edebilmek için, verinin kullanılacağı platforma göre (Örn: Veritabanı SQL sorgusu vs JSON Payload) farklı filtreleme aşamalarından geçmesi gerekir:
- HTML Sanitize (XSS Koruması): Tarayıcılar
<script>veyaonload=gibi etiketleri gördüğünde anında çalıştırır. Bir formu kopyalayıp yapıştırdığınızda "HTML Temizle" fonksiyonumuz, metnin içindeki tüm DOM etiketlerini (Tags)/<[^>]*>/gRegex paterni ile bularak tamamen strip (yok etme) eder. Bu sayede saf "Plain Text" elde edersiniz. - White-space (Boşluk) Optimizasyonu: Kelimeler arasında unutulan 2, 3 veya 5 adet ardışık boşluk (Trailing/Leading spaces), arama algoritmalarında (Örn: Elasticsearch) eşleşme hatalarına yol açar. "Boşluk Temizle" özelliğimiz,
\s+desenini kullanarak yan yana gelmiş tüm boşlukları tek bir standart "space" (ASCII 32) karakterine indirger. - Görünmez (Non-printable) Karakterler: UTF-8 kodlamasında yer alan Zero-width space (
​) veya "Carriage Return" karakterleri gözle görülmez ama kodunuzu kırar. Sistemimiz bu "Hayalet" karakterleri de ağından geçirir.
Geliştiriciler (Developers) İçin: Neden Regex?
Frontend tarafında veriyi temizlemeden Backend'e göndermek, performansı olumsuz etkiler. Veritabanında (Örn: VARCHAR sütununda) gereksiz tutulan her boşluk karakteri byte maliyetidir.
📜 Plain-Text Standardı
Büyük dil modellerini (LLM) veya Makine Öğrenmesi (NLP) algoritmalarını eğitirken verisetinde (Dataset) HTML veya özel karakter olamaz. Tam temizlik (All-clear) özelliği metni yapay zeka eğitimine uygun "Ham" (Raw) hale getirir.
🔒 Güvenlik (Security)
SQL Injection veya Cross-Site Scripting saldırılarının %90'ı, sanitize edilmemiş metin girdilerinden kaynaklanır. Bu araç, yazacağınız "Middleware" (Ara katman) filtreleri için test edeceğiniz verileri hazırlamanızı sağlar.
Sıkça Sorulan Sorular (S.S.S.)
HTML temizleme işlemi satır atlamalarını (Line Breaks) bozuyor mu?
Normalde <br> veya <p> etiketleri silindiğinde tüm metin yan yana yapışır. Ancak aracımız, blok seviyesindeki (Block-level) etiketleri silerken bunları standart yeni satır karakteri (\n) ile değiştirerek metnin orijinal paragraf düzenini korur.
Özel karakter temizliğinde hangi karakterler silinir?
"Özel Karakter" butonu, sadece standart harfler (A-Z, a-z), rakamlar (0-9) ve temel noktalama işaretleri (, . ? !) dışındaki tüm sembolleri, emojileri ve tipografik işaretleri temizleyerek metni ASCII standartlarına çeker.
Gizlilik ve İstemci Tarafı Çalışma Güvencesi
Metin temizleme işlemleri tamamen tarayıcınızın kendi çalışma ortamında (DOM/JavaScript) gerçekleşir. Temizlediğiniz hiçbir metin, e-posta veya kod parçacığı sunucularımıza kaydedilmez ya da internete gönderilmez.