1<?php 2 3/** 4 * Post-transform that copies lang's value to xml:lang (and vice-versa) 5 * @note Theoretically speaking, this could be a pre-transform, but putting 6 * post is more efficient. 7 */ 8class HTMLPurifier_AttrTransform_Lang extends HTMLPurifier_AttrTransform 9{ 10 11 /** 12 * @param array $attr 13 * @param HTMLPurifier_Config $config 14 * @param HTMLPurifier_Context $context 15 * @return array 16 */ 17 public function transform($attr, $config, $context) 18 { 19 $lang = isset($attr['lang']) ? $attr['lang'] : false; 20 $xml_lang = isset($attr['xml:lang']) ? $attr['xml:lang'] : false; 21 22 if ($lang !== false && $xml_lang === false) { 23 $attr['xml:lang'] = $lang; 24 } elseif ($xml_lang !== false) { 25 $attr['lang'] = $xml_lang; 26 } 27 return $attr; 28 } 29} 30 31// vim: et sw=4 sts=4 32