PHP bir harf değil bir şey kaldırarak bir dize nasıl temizlenir

3 Cevap php

Ben bir html belgesi var Diyelim

nasıl belgeden her şeyi kaldırabilirsiniz

Ben HTML etiketlerini kaldırmak istiyor

Ben herhangi bir özel karakter kaldırmak istiyorum

Ben harfleri dışında her şeyi kaldırmak istiyorum

ve metin ayıklayın

Teşekkürler

3 Cevap

Sen strip_tags kullanabilir ve preg_replace bunu gerçekleştirmek için:

function clean($in)
{
    // Remove HTML
    $out = strip_tags($in);
    // Filter all other characters
    return preg_replace("/[^a-z]+/i", "", $out);
}

[^a-z] A'dan Z'ye dışında herhangi bir karakterle eşleşir, + işareti o belirten böyle herhangi bir karakter dizisi uzunluğunu ve /i-değiştirici eşleşmesi gerektiğini belirtir Bir harf duyarsız arama bulunuyor. Tüm eşleşen karakterler boş bir dize sol sadece karakterleri bırakarak ile değiştirilecektir.

Eğer boşluk tutmak istiyorsanız [^a-z ] yerine kullanabilir ve siz de sayıları tutmak istiyorsanız [^a-z0-9 ]. Bu, tüm izin verilen karakterleri beyaz liste ve geri kalanını atmak için izin verir.

strip_tags() ilk HTML kurtulmak için kullanın, ardından Emil H'leri regex kullanabilirsiniz.

Prepend bir

$in = preg_replace("/<[^>]*>/", "", $in);

Emil H çözümü için, böylece Etiketler çizgili alacak. Else, bir "

Merhaba Dünya " "pHelloWorldp" olarak görünecektir