Skip to content

Instantly share code, notes, and snippets.

@iamEAP
Created January 16, 2014 20:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iamEAP/8462456 to your computer and use it in GitHub Desktop.
Save iamEAP/8462456 to your computer and use it in GitHub Desktop.
Example method to remove simple $form['#prefix'] and $form['#suffix'] elements from rendered markup in a Drupal 6 page preprocess function using SimpleXMLElement.
/**
* Page preprocess.
*/
function phptemplate_preprocess_page(&$variables) {
// Return the fully rendered search block, and its SimpleXMLElement equivalent.
$block = theme('block', (object) module_invoke('google_appliance', 'block', 'view', 'google_search'));
$block_xml = new SimpleXMLElement($block);
// Parse out $form['#prefix'] and $form['#suffix']
$prefix = $block_xml->xpath('//form/preceding-sibling::*[1]');
$suffix = $block_xml->xpath('//form/following-sibling::*[1]');
// Replace relevant XML bits in the rendered markup.
$to_be_replaced = array($prefix[0]->asXML(), $suffix[0]->asXML());
$replacements = array('', '');
$block = str_replace($to_be_replaced, $replacements, $block);
// Assign the final, processed block HTML.
$variables['search_box'] = $block;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment