SORU
18 EKİM 2010, PAZARTESİ


Üreten PHP (kaçış karakteri)belge XML

Bir PHP komut dosyası bir XML belgesi oluşturma olduğumu ve XML özel karakterler kaçmak istiyorum. Kaçtım olması gereken bir karakter listesi; fakat, bunu yapmak için doğru yolu nedir?

Karakterler sadece ters eğik çizgi ( ' ) ya da ne uygun yoldur\? ile kaçmış olmalı Herhangi bir yerleşik benim için bunu yapabilecek bir PHP işlevi var mı?

CEVAP
18 EKİM 2010, PAZARTESİ


XML five "predefined entities" ile kaçar basit bir fonksiyon hazırladım:

function xml_entities($string) {
    return strtr(
        $string, 
        array(
            "<" => "<",
            ">" => ">",
            '"' => """,
            "'" => "'",
            "&" => "&",
        )
    );
}

Kullanım örneği Demo:

$text = "Test & <b> and encode </b> :)";
echo xml_entities($text);

Çıkış:

Test &amp; <b> and encode </b> :)

Benzer bir etki str_replace kullanılarak elde edilebilir ama çift replacings (denenmemiş, tavsiye edilmez) çünkü: kırılgan

function xml_entities($string) {
    return str_replace(
        array("&",     "<",    ">",    '"',      "'"),
        array("&", "<", ">", """, "'"), 
        $string
    );
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Tinkernut

    Tinkernut

    28 Aralık 2006
  • WePlayWeWatch

    WePlayWeWatc

    3 Temmuz 2013