PHP Classes
elePHPant
Icontem

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    
Last Updated Ratings Unique User Downloads Download Rankings
2008-08-19 (8 years ago) RSS 2.0 feedStarStarStarStar 74%Total: 1,391 All time: 2,709 This week: 853Up
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 <contact>
Classes: 9 packages by
Country: Australia Australia
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,391
This week:0
All time:2,709
This week:853Up
User Ratings User Comments (1)
 All time
Utility:91%StarStarStarStarStar
Consistency:91%StarStarStarStarStar
Documentation:91%StarStarStarStarStar
Examples:100%StarStarStarStarStarStar
Tests:-
Videos:-
Overall:74%StarStarStarStar
Rank:142
 
thank you for you word.
8 years ago (webcgo)
80%StarStarStarStarStar