| 1: | <?php
|
| 2: |
|
| 3: |
|
| 4: |
|
| 5: | |
| 6: | |
| 7: | |
| 8: | |
| 9: | |
| 10: | |
| 11: |
|
| 12: | class HTMLPurifier_AttrTransform_TargetNoreferrer extends HTMLPurifier_AttrTransform
|
| 13: | {
|
| 14: | |
| 15: | |
| 16: | |
| 17: | |
| 18: | |
| 19: |
|
| 20: | public function transform($attr, $config, $context)
|
| 21: | {
|
| 22: | if (isset($attr['rel'])) {
|
| 23: | $rels = explode(' ', $attr['rel']);
|
| 24: | } else {
|
| 25: | $rels = array();
|
| 26: | }
|
| 27: | if (isset($attr['target']) && !in_array('noreferrer', $rels)) {
|
| 28: | $rels[] = 'noreferrer';
|
| 29: | }
|
| 30: | if (!empty($rels) || isset($attr['rel'])) {
|
| 31: | $attr['rel'] = implode(' ', $rels);
|
| 32: | }
|
| 33: |
|
| 34: | return $attr;
|
| 35: | }
|
| 36: | }
|
| 37: |
|
| 38: | |