You are here

function _strip_html_tags in Bibliography Module 7

Same name and namespace in other branches
  1. 6.2 includes/biblio.util.inc \_strip_html_tags()
  2. 7.2 includes/biblio.util.inc \_strip_html_tags()

Remove HTML tags, including invisible text such as style and script code, and embedded objects. Add line breaks around block-level tags to prevent word joining after tag removal.

File

includes/biblio.util.inc, line 405

Code

function _strip_html_tags($text) {
  $text = preg_replace(array(
    // Remove invisible content.
    '@<head[^>]*?>.*?</head>@siu',
    '@<style[^>]*?>.*?</style>@siu',
    '@<script[^>]*?.*?</script>@siu',
    '@<object[^>]*?.*?</object>@siu',
    '@<embed[^>]*?.*?</embed>@siu',
    '@<applet[^>]*?.*?</applet>@siu',
    '@<noframes[^>]*?.*?</noframes>@siu',
    '@<noscript[^>]*?.*?</noscript>@siu',
    '@<noembed[^>]*?.*?</noembed>@siu',
    // Add line breaks before and after blocks.
    '@</?((address)|(blockquote)|(center)|(del))@iu',
    '@</?((div)|(h[1-9])|(ins)|(isindex)|(p)|(pre))@iu',
    '@</?((dir)|(dl)|(dt)|(dd)|(li)|(menu)|(ol)|(ul))@iu',
    '@</?((table)|(th)|(td)|(caption))@iu',
    '@</?((form)|(button)|(fieldset)|(legend)|(input))@iu',
    '@</?((label)|(select)|(optgroup)|(option)|(textarea))@iu',
    '@</?((frameset)|(frame)|(iframe))@iu',
  ), array(
    ' ',
    ' ',
    ' ',
    ' ',
    ' ',
    ' ',
    ' ',
    ' ',
    ' ',
    "\n\$0",
    "\n\$0",
    "\n\$0",
    "\n\$0",
    "\n\$0",
    "\n\$0",
    "\n\$0",
    "\n\$0",
  ), $text);
  return strip_tags($text);
}