PHP Classes

preg_magic: Extract data from text using regular expressions

Recommend this page to a friend!
  Info   View files View files (17)   DownloadInstall with Composer Download .zip   Reputation   Support forum (1)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 65%Total: 1,413 This week: 1All time: 2,759 This week: 571Up
Version License PHP version Categories
preg_magic 1GNU General Publi...5PHP 5, Text processing
Description 

Author

This class can be used to extract data from text using regular expression patterns.

It takes an array of regular expressions that define the patterns to match and extract data.

An entry of the expressions array may be another array that defines patterns of repetitive sections that must be iterated to extract data from each of the repeated sections, like for instance HTML tables with sections of the rows of cell data.

The extracted data patterns is returned in associative arrays.

Innovation Award
PHP Programming Innovation award nominee
February 2008
Number 7


Prize: One downloadable copy of Komodo Pro
Regular expressions are often used to extract information from different types of text documents.

Sometimes it is necessary to extract information that appears with the same format in multiple sections of a document, like for instance, text that is presented in multiple rows of HTML table. Extracting data from this kind document may require the use of multiple types of regular expressions.

This class provides a solution to simplify the extraction of text from document with repetitive sections by iterating through a set of given regular expressions.

Manuel Lemos
Picture of Shannon Wynter
Name: Shannon Wynter is available for providing paid consulting. Contact Shannon Wynter .
Classes: 9 packages by
Country: Australia Australia
Age: 42
All time rank: 1232 in Australia Australia
Week rank: 103 Up1 in Australia Australia Up
Innovation award
Innovation award
Nominee: 3x

Details

preg_magic ------------------- Version 1.0 Author: Shannon Wynter (http://fremnet.net/contact) Copyright Shannon Wynter & Fremnet.net Licence: GPL 2.0 Class/Function to assist with parsing great piles of garbage (ie: HTML) into nice hashes/associative arrays with a few regular expressions. Basic Synapsis: ------------------- preg_magic($Fields, $Target) $Fields is an associative array that contains the structure you expect to extract from the file. It is very important to understand that you must supply the fields in the order that you expect them to be matched. There are currently two types of fields - simple - table A simple field is simply defined as 'name' => 'expression to match' A table field is a whole lot more complicated but it's also very flexable, and is defined as follows: '@table' => true, '@table_start' => 'the expression to match at the start of the table', '@table_end' => 'the expression to match at the end of the table', '@table_fields => array(of more fields), Both @table_start and @table_end will be ignored if this is the root element of the array. So an example structure might look like the example file example/fields_example.php - This example shows two simple fields, and a table The structure can be recursive, ie, you can have more table and simple fields beneith the table field A full example can be found in example/full_example.php Full Documentation: ------------------- You can generate full documentation by making sure you have phpDocumentor installed and running the document.sh file found in this directory License: ------------------- This library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

  Files folder image Files  
File Role Description
Files folder imagedoc (7 files, 2 directories)
Files folder imageexample (3 files)
Accessible without login Plain text file document.sh Data Documentation Generator
Plain text file preg_magic.php Class Main class/function file
Accessible without login Plain text file README Doc. Readme file

  Files folder image Files  /  doc  
File Role Description
Files folder imagemedia (2 files)
Files folder imagepreg_magic (2 files)
  Accessible without login HTML file blank.html Doc. Documentation
  Accessible without login HTML file classtrees_preg_magic.html Doc. Documentation
  Accessible without login HTML file elementindex.html Doc. Documentation
  Accessible without login HTML file elementindex_preg_magic.html Doc. Documentation
  Accessible without login HTML file index.html Doc. Main Documentation Index
  Accessible without login HTML file li_preg_magic.html Doc. Documentation
  Accessible without login HTML file packages.html Doc. Documentation

  Files folder image Files  /  doc  /  media  
File Role Description
  Accessible without login Plain text file banner.css Data CSS for Documentation
  Accessible without login Plain text file stylesheet.css Data CSS for Documentation

  Files folder image Files  /  doc  /  preg_magic  
File Role Description
  Accessible without login HTML file preg_magic.html Doc. Documentation
  Accessible without login HTML file _preg_magic.php.html Doc. Documentation

  Files folder image Files  /  example  
File Role Description
  Accessible without login Plain text file fields_example.php Example An example fields layout
  Accessible without login Plain text file full_example.php Example A complete example
  Accessible without login Plain text file history.html Data Example data

 Version Control Unique User Downloads Download Rankings  
 0%
Total:1,413
This week:1
All time:2,759
This week:571Up
User Ratings User Comments (1)
 All time
Utility:81%StarStarStarStarStar
Consistency:81%StarStarStarStarStar
Documentation:81%StarStarStarStarStar
Examples:87%StarStarStarStarStar
Tests:-
Videos:-
Overall:65%StarStarStarStar
Rank:603
 
thank you for you word.
15 years ago (webcgo)
80%StarStarStarStarStar