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/>.
|