(PHP 4, PHP 5, PHP 7, PHP 8)
strip_tags — Bir dizgeden HTML ve PHP etiketlerini ayıklar
Bu işlev belirtilen dizge dizgesinden tüm NULL
baytları, HTML ve PHP etiketleri ayıklanmış olarak bir dizge döndürmeye
çalışır. fgetss() işlevinin kullandığı etiket ayıklama
motoru kullanılır.
dizgeGirdi dizgesi.
ayıklanmayacaklarSeçimlik olan bu bağımsız değişkende ayıklanmayacak etiketleri belirtebilirsiniz. Ya dizge olarak ya da PHP 7.4.0'dan itibaren bir dizi olarak belirtilebilir. Bu bağımsız değişkenin biçemi ile ilgili olan aşağıdaki örneğe bakılabilir.
Bilginize:
HTML içi açıklamalar ile PHP etiketleri de ayıklanır ve bu durum
ayıklanmayacaklarile değiştirilemez.
Bilginize:
Kendi kapanan XHTML etiketleri yoksayılır ve
ayıklanmayacaklariçinde sadece kendi kapanmayan etiketler bulunmalıdır. Örneğin,<br>ve<br/>etiketlerinin ikisine de izin vermek için şöyle yapılmalıdır:<?php
strip_tags($input, '<br>');
?>
Ayıklanmış dizge döner.
| Sürüm: | Açıklama |
|---|---|
| 8.0.0 |
ayıklanmayacaklar artık null olabiliyor.
|
| 7.4.0 |
ayıklanmayacaklar artık dizi de kabul ediyor.
|
Örnek 1 - strip_tags() örneği
<?php
$metin = '<p>Deneme paragrafı.</p><!-- Açıklama --> ' .
'<a href="#capa">Başka bir metin</a>';
echo strip_tags($metin);
echo "\n";
// <p> ve <a>'ya izin verelim
echo strip_tags($metin, '<p><a>');
// PHP 7.4.0 ve sonrasında yukarıdaki satır şöyle yazılabilir:
// echo strip_tags($metin, ['p', 'a']);
?>Yukarıdaki örneğin çıktısı:
Deneme paragrafı. Başka bir metin <p>Deneme paragrafı.</p> <a href="#capa">Başka bir metin</a>
Bu işlev XSS saldırılarını engellemeye çalışmak için kullanılmamalıdır. htmlspecialchars() gibi daha uygun işlevler veya çıktı bağlamına bağlı olarak diğer araçlar kullanılmalıdır.
strip_tags() işlevi HTML doğrulaması yapmadığından kısmen veya tamamen bozuk etiketler nedeniyle beklenenden daha az metin veya veri elde edilebilir.
Bu işlev ayıklanmayacaklar bağımsız değişkeninde
belirtilen etiketlerdeki özniteliklerde, haylaz bir kullanıcıyı baştan
çıkarabilecek bilgiler içerebilen style ve
onmouseover öznitelikleri dahil, bir değişiklik yapmaz.
Bilginize:
HTML girdi içindeki 1023 bayttan daha uzun etiket adları,
ayıklanmayacaklarbağımsız değişkenine bakılmaksızın geçersiz olarak değerlendirilir.