ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 7496


Ignore:
Timestamp:
May 29, 2008, 8:18:04 PM (11 years ago)
Author:
ebihara
Message:

#2585:util_output_xml4array()の時点でXMLの要素の内容をエスケープするようにした

File:
1 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/webapp/lib/util/util.php

    r7327 r7496  
    854854}
    855855
    856 function util_output_xml4array($data, $root)
     856function util_output_xml4array($data, $root, $ignore_escape_list = array())
    857857{
    858858    require_once 'XML/Serializer.php';
     
    862862    $serializer = new XML_Serializer($option);
    863863
     864    $data = util_escape4output_xml($data, $ignore_escape_list);
     865
    864866    $result = $serializer->serialize($data);
    865867
     
    872874
    873875    util_send_header_internal_server_error();
     876}
     877
     878function util_escape4output_xml($data, $ignore_keys = array())
     879{
     880    if (is_array($data)) {
     881        foreach ($data as $key => $value) {
     882            if (in_array($key, $ignore_keys)) {
     883                $data[$key] = $value;
     884            } else {
     885                $data[$key] = util_escape4output_xml($value);
     886            }
     887        }
     888    }
     889
     890    if (is_string($data)) {
     891        return htmlspecialchars($data, ENT_QUOTES, 'UTF-8');
     892    }
     893
     894    return $data;
    874895}
    875896
Note: See TracChangeset for help on using the changeset viewer.