PHP  
downloads | documentation | faq | getting help | | php.net sites | links 
search for in the  
previousrecode_stringPattern Modifiersnext
Last updated: Tue, 28 May 2002
view this page in Printer friendly version | English | Brazilian Portuguese | Czech | Dutch | French | German | Hungarian | Italian | Japanese | Korean | Polish | Romanian | Russian | Spanish | Turkish

LXXXVI. Regular Expression Functions (Perl-Compatible)

The syntax for patterns used in these functions closely resembles Perl. The expression should be enclosed in the delimiters, a forward slash (/), for example. Any character can be used for delimiter as long as it's not alphanumeric or backslash (\). If the delimiter character has to be used in the expression itself, it needs to be escaped by backslash. Since PHP 4.0.4, you can also use Perl-style (), {}, [], and <> matching delimiters.

The ending delimiter may be followed by various modifiers that affect the matching. See Pattern Modifiers.

PHP also supports regular expressions using a POSIX-extended syntax using the POSIX-extended regex functions..

Requirements

Regular expression support is provided by the PCRE library package, which is open source software, written by Philip Hazel, and copyright by the University of Cambridge, England. It is available at .

Installation

Beginning with PHP 4.2.0 this function are enabled by default. For older versions you have to configure and compile PHP with --with-pcre-regex[=DIR] in order to use these functions. You can disable the pcre functions with --without-pcre-regex.

Runtime Configuration

T�m� laajennus ei m��rittele yht�k��n konfigurointi asetusta.

Resource types

T�m� laajennus ei m��rittele yht�k��n resurssi-tyyppi�.

Predefined constants

PREG_PATTERN_ORDER PREG_SET_ORDER PREG_SPLIT_NO_EMPTY PREG_SPLIT_DELIM_CAPTURE

Examples

Esimerkki 1. Examples of valid patterns

  • /<\/\w+>/

  • |(\d{3})-\d+|Sm

  • /^(?i)php[34]/

  • {^\s+(\s+)?$}

Esimerkki 2. Examples of invalid patterns

  • /href='(.*)' - missing ending delimiter

  • /\w+\s*\w+/J - unknown modifier 'J'

  • 1-\d3-\d3-\d4| - missing starting delimiter

Sis�llys
Pattern Modifiers -- Describes possible modifiers in regex patterns
Pattern Syntax -- Describes PCRE regex syntax
preg_grep --  Return array entries that match the pattern
preg_match -- Perform a regular expression match
preg_match_all -- Perform a global regular expression match
preg_quote -- Quote regular expression characters
preg_replace -- Perform a regular expression search and replace
preg_replace_callback -- Perform a regular expression search and replace using a callback
preg_split -- Split string by a regular expression
User Contributed Notes
Regular Expression Functions (Perl-Compatible)
add a note about notes

14-Jul-2000 04:59

... so I find the solution for PCRE under Linux. Download the source code.
Compile it with --with-pcre-regexmake parameter. It's working just fine
with PHP 4.0.1pl2. One more time I learned: the safest (and the fastest)
way is build your own code from the source. :-)


24-Jul-2000 09:13

Please add a link from the ordinary regular expressions to these. Otherwise
they are easy to miss, when looking for regex functions, due the
abreviation.


12-Mar-2001 10:09

Ever wondered how to use a function within a PCRE?  here's how:

$content = preg_replace("/\*(\w+)\*/e",
"lookupImageCode($1)", $content);

This code replaces all instances of *text*, where text is a code for an
image, with the output of function lookupImageCode().  The /e and the
quotes around the function name and arguments are essential to make this
work :-)

I use this on one of my websites to query a database and cross-reference
image filenames with special codes input by press release writers in our
client's company.  They type the code of an image (displayed in a
catalogue onscreen on the site's backend) and this little wonder of code
changes it to an img src tag on the fly as the page is loaded.

Enjoy!

p.s.  thanks to the guys on #php who helped sort this out at 4am in the
morning my time! (donut, jfk, cardinal)  Contact me if you like.


22-Aug-2001 12:09

There is some really good/simple documentation of Perl regular expressions
at 


06-Mar-2002 05:33

If you're venturing into new regular expression territory with a lack of
useful examples then it would pay to get familiar with this page:



12-Mar-2002 06:56

Here's a translation of Friedl's email address matching regexp:



Friedl's perl original is available here:



14-Jun-2002 03:47

This is the easiest tutorial for regular expressions I have found yet.
Beginners should start here.
This tutorial is originally written for Jscript, but I think everything
applies to PHP.
(I had to chop the following url into small pieces to be able to post it
here)



script56/html/js56reconRegularExpressions.asp

add a note about notes
previousrecode_stringPattern Modifiersnext
Last updated: Tue, 28 May 2002
show source | credits | stats | mirror sites:  
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by:
Last updated: Sat Jul 6 00:05:55 2002 CEST