Login   Register  
PHP Classes
elePHPant
Icontem

File: tests/php_classes_header.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Marco Marchiņ  >  Regexp Builder  >  tests/php_classes_header.php  >  Download  
File: tests/php_classes_header.php
Role: Example script
Content type: text/plain
Description: Php class header match
Class: Regexp Builder
Build regular expressions programmatically
Author: By
Last change:
Date: 5 years ago
Size: 1,658 bytes
 

Contents

Class file image Download
<?php
require_once "../regexpBuilder.php";
/*
PHP class header. Capture the name of the class and the optional extension class.
Format: class name extends extensionName
LOGIC:
- class
- one or more spaces
- start capturing
- one or more letters, digit or underscore characters
- stop capturing
- start a new group
- one or more spaces
- extends
- one or more spaces
- start capturing
- one or more letters, digit or underscore characters
- stop capturing
- close group and match only if it's present
*/

$regexp=new regexpBuilder(CASE_INSENSITIVE);
$regexp->match("class")    //Class
->match(SPACE_CHAR)    //One or more spaces
->capture()    //start capturing
->matchOneOfTheseChars(LETTER_CHAR.DIGIT_CHAR."_")->frequency(ONE_OR_MORE)    //one or more letters, digit or underscore characters
->closeCapture()    //stop capturing
->openGroup()        //start a new group
->match(SPACE_CHAR)    //One or more spaces
->match("extends")    //extends
->match(SPACE_CHAR)    //One or more spaces
->capture()    //start capturing
->matchOneOfTheseChars(LETTER_CHAR.DIGIT_CHAR."_")->frequency(ONE_OR_MORE)    //one or more letters, digit or underscore characters
->closeCapture()//stop capturing
->closeGroup()->frequency(ZERO_OR_ONE);    //close group and match only if it's present

$match=$regexp->execOn("class test extends extensionName");
echo 
"class test extends extensionName<br>Match 1: ".$match[1][0]."<br>"."Match 2: ".$match[2][0]; //Match 1: test, Match 2: extensionName
$match=$regexp->execOn("class test");
echo 
"<br><br>class test<br>Match 1: ".$match[1][0]."<br>"."Match 2: ".(isset($match[2][0]) ? $match[2][0] : ""); //Match 1: test, Match 2:
?>