All pastes #815208 Raw Edit

Someone

public text v1 · immutable
·published 2007-12-13 21:48 UTC
rendered paste body
<?php

  $filename = 'http://en.wikipedia.org/wiki/Main_Page';

  $input = @file_get_contents($filename) or die('Could not access file: $filename');
  $regexp = "<a\s[^>]*href=(\"??)\/wiki([^\" >]*?)\\1[^>]*>(.*)<\/a>";
  if (preg_match_all("/$regexp/siU", $input, $matches)) {
    print_r($matches[2]);
    # $matches[2] = array of link addresses
    # $matches[3] = array of link text - including HTML code
  }

  /**
   * 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.
   */
  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 );
}

/* Read an HTML file */
$raw_text = trim(strip_html_tags($input));

print($raw_text);
?>