Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
<?php
/**
* AMP Sanitize Processing Instructions
*
* @package AMP_Sanitize_PIs
* @author Weston Ruter, Google
* @license GPL-2.0-or-later
* @copyright 2019 Google Inc.
*
* @wordpress-plugin
* Plugin Name: AMP Sanitize Processing Instructions
* Description: Quick fix for <a href="https://github.com/ampproject/amp-wp/issues/3409">amp-wp#3409</a>.
* Plugin URI: https://gist.github.com/westonruter/96ae3cb713051aae867b874196eef910
* Version: 0.1.0
* Author: Weston Ruter, Google
* Author URI: https://weston.ruter.net/
* License: GNU General Public License v2 (or later)
* License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/
namespace AMP_Sanitize_PIs;
add_filter(
'amp_content_sanitizers',
function ( $sanitizers ) {
class PI_Sanitizer extends \AMP_Base_Sanitizer {
function sanitize() {
$xpath = new \DOMXPath( $this->dom );
foreach ( $xpath->query( '//processing-instruction()' ) as $node ) {
$node->parentNode->removeChild( $node );
}
}
}
$sanitizers[ __NAMESPACE__ . '\PI_Sanitizer' ] = [];
return $sanitizers;
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.