SlideShare a Scribd company logo
String Manipulation and Regular Expressions
Regular Expressions (POSIX) Explanation:
BRACKETS [ ] Shows the range of search from the string [0-9] matches any decimal digit from 0 through 9. [a-z] matches any character from lowercase a through lowercase z. [A-Z] matches any character from uppercase A through uppercase Z. [A-Za-z] matches any character from uppercase A through lowercase z.
Quantifiers The frequency or position of bracketed character sequences and single characters can be denoted by a special character, with each special character having a specific connotation. The +, *, ?,{occurrence_range}, and $ flags all follow a character sequence:
•  p+ matches any string containing at least one p. •  p* matches any string containing zero or more p’s. •  p? matches any string containing zero or one p. •  p{2} matches any string containing a sequence of two p’s. •  p{2,3} matches any string containing a sequence of two or three p’s. •  p{2,} matches any string containing a sequence of at least two p’s. •  p$ matches any string with p at the end of it. Still other flags can precede and be inserted before and within a character sequence: •  ^p matches any string with p at the beginning of it. •  [^a-zA-Z] matches any string  not  containing any of the characters ranging from a through z and A through Z. •  p.p matches any string containing p, followed by any character, in turn followed by another p.
• ^.{2}$ matches any string containing  exactly  two characters. • <b>(.*)</b> matches any string enclosed within <b> and </b> (presumably HTML bold tags). • p(hp)* matches any string containing a p followed by zero or more instances of the sequence hp. Search a dolor Sign in a string ([\$])([0-9]+)
Predefined Character Ranges (Character Classes) •  [:alpha:]: Lowercase and uppercase alphabetical characters. This can also be specified as [A-Za-z]. •  [:alnum:]: Lowercase and uppercase alphabetical characters and numerical digits. This can also be specified as [A-Za-z0-9]. •  [:cntrl:]: Control characters such as a tab, escape, or backspace. •  [:digit:]: Numerical digits 0 through 9. This can also be specified as [0-9]. •  [:graph:]: Printable characters found in the range of ASCII 33 to 126. •  [:lower:]: Lowercase alphabetical characters. This can also be specified as [a-z]. •  [:punct:]: Punctuation characters, including ~ ` ! @ # $ % ^ & * ( ) - _ + = { } [ ] : ; ' < > , . ? and /. •  [:upper:]: Uppercase alphabetical characters. This can also be specified as [A-Z]. •  [:space:]: Whitespace characters, including the space, horizontal tab, vertical tab, new line, form feed, or carriage return. •  [:xdigit:]: Hexadecimal characters. This can also be specified as [a-fA-F0-9].
ereg()  executes a case-sensitive search of string for pattern, returning  TRUE if the pattern is found and FALSE otherwise. eregi()   Unlike ereg(), the search is case insensitive.This function can  be useful when checking the validity of strings, such as passwords. ereg_replace()  The ereg_replace() function operates much like ereg(), except that the functionality is extended to finding and replacing pattern with replacement instead of simply locating it. If no matches are found, the string will remain unchanged. Like ereg(), ereg_replace() is case sensitive. eregi_replace()   The eregi_replace() function operates exactly like ereg_replace(), except that the search for pattern in string is not case sensitive. PHP’s Regular Expression Functions (POSIX Extended)
split()   The split() function divides string into various elements, with the boundaries of each element based on the occurrence of pattern in string. The optional input parameter limit is used to specify the number of elements into which the string should be divided, starting from the left end of the string and working rightward. In cases where the pattern is an alphabetical character, split() is case sensitive. Here’s how you would use split() to break a string into pieces based on occurrences of horizontal tabs and newline characters: spliti()  The spliti() function operates exactly in the same manner as its sibling split(), except that it is case insensitive. sql_regcase()  The sql_regcase() function converts each character in string into a bracketed expression containing two characters. If the character is alphabetic, the bracket will contain both forms; otherwise, the original character will be left unchanged. This function is particularly useful when PHP is used in conjunction with products that support only case-sensitive regular expressions. Here’s how you would use sql_regcase() to convert a string:
Practical Examples <?php $username = &quot;jasoN&quot;; if (ereg(&quot;([^a-z])&quot;,$username)) echo &quot;Username must be all lowercase!&quot;; ?> ereg() boolean ereg (string  pattern , string  string  [, array  regs ])
<?php $url = &quot;http://www.apress.com&quot;; // break $url down into three distinct pieces: // &quot;http://www&quot;, &quot;apress&quot;, and &quot;com&quot; $parts = ereg(&quot;^(http://www)\.([[:alnum:]]+)\.([[:alnum:]]+)&quot;, $url, $regs); echo $regs[0]; // outputs the entire string &quot;http://www.apress.com&quot; echo &quot;<br>&quot;; echo $regs[1]; // outputs &quot;http://www&quot; echo &quot;<br>&quot;; echo $regs[2]; // outputs &quot;apress&quot; echo &quot;<br>&quot;; echo $regs[3]; // outputs &quot;com&quot; ?> This returns: http://www.apress.com http://www apress com
eregi() int eregi (string  pattern , string  string , [array  regs ]) <?php $pswd = &quot;jasongild&quot;; if (!eregi(&quot;^[a-zA-Z0-9]{8,10}$&quot;, $pswd)) echo &quot;The password must consist solely of alphanumeric characters, and must be 8-10 characters in length!&quot;; ?> In this example, the user must provide an alphanumeric password consisting of 8 to 10 characters, or else an error message is displayed.
ereg_replace() string ereg_replace (string  pattern , string  replacement , string  string ) <?php $text = &quot;This is a link to http://www.wjgilmore.com/.&quot;; echo ereg_replace(&quot;http://([a-zA-Z0-9./-]+)$&quot;, &quot;<a href=\&quot;\\0\&quot;>\\0</a>&quot;,$text); ?> This returns: href=&quot;http://www.wjgilmore.com/&quot;>http://www.wjgilmore.com</a>.
split() array split (string  pattern , string  string  [, int  limit ]) <?php $text = &quot;this is\tsome text that\nwe might like to parse.&quot;; print_r(split(&quot;[\n\t]&quot;,$text)); ?> Array ( [0] => this is [1] => some text that [2] => we might like to parse. )
sql_regcase() string sql_regcase (string  string ) <?php $version = &quot;php 4.0&quot;; print sql_regcase($version); ?> Output:  [Pp] [Hh] [Pp] 4.0
Regular Expression Syntax (Perl Style) Modifiers
Metacharacters •  \A: Matches only at the beginning of the string. •  \b: Matches a word boundary. •  \B: Matches anything but a word boundary. •  \d: Matches a digit character. This is the same as [0-9]. •  \D: Matches a nondigit character. •  \s: Matches a whitespace character. •  \S: Matches a nonwhitespace character. •  []: Encloses a character class. A list of useful character classes was provided in the previous section. •  (): Encloses a character grouping or defines a back reference. •  $: Matches the end of a line. •  ^: Matches the beginning of a line. •  .: Matches any character except for the newline.
•  \: Quotes the next metacharacter. •  \w: Matches any string containing solely underscore and alphanumeric characters. This is the same as [a-zA-Z0-9_]. •  \W: Matches a string, omitting the underscore and alphanumeric characters.
Let’s consider a few examples: /sa\b/ Because the word boundary is defined to be on the right side of the strings, this will match strings like pisa and lisa, but not sand. /\blinux\b/i This returns the first case-insensitive occurrence of the word linux. /sa\B/ The opposite of the word boundary metacharacter is \B, matching on anything but a word boundary. This will match strings like sand and Sally, but not Melissa. /\$\d+\g This returns all instances of strings matching a dollar sign followed by one or more digits.
PHP’s Regular Expression Functions (Perl Compatible) preg_grep() array preg_grep (string  pattern , array  input  [,  flags ]) The preg_grep() function searches all elements of the array input, returning an array consisting of all elements matching pattern. Consider an example that uses this function to search an array for foods beginning with  p : preg_match() int preg_match (string  pattern , string  string  [, array  matches ] [, int  flags  [, int  offset ]]]) The preg_match() function searches string for pattern, returning TRUE if it exists and FALSE otherwise. The optional input parameter pattern_array can contain various sections of the subpatterns contained in the search pattern, if applicable. Here’s an example that uses preg_match() to perform a case-sensitive search:
preg_match_all() int preg_match_all (string  pattern , string  string , array  pattern_array [, int  order ]) The preg_match_all() function matches all occurrences of pattern in string, assigning each occurrence to array pattern_array in the order you specify via the optional input parameter order. The order parameter accepts two values: preg_quote() string preg_quote(string  str  [, string  delimiter ]) The function preg_quote() inserts a backslash delimiter before every character of special significance to regular expression syntax. These special characters include: $ ^ * ( ) + = { } [ ] | \\ : < >. The optional parameter delimiter is used to specify what delimiter is used for the regular expression, causing it to also be escaped by a backslash.
The preg_replace() function operates identically to ereg_replace(), except that it uses a Perlbased regular expression syntax, replacing all occurrences of pattern with replacement, and returning the modified result. The optional input parameter limit specifies how many matches should take place. Failing to set limit or setting it to -1 will result in  the  replacement of all occurrences. preg_replace() mixed preg_replace (mixed  pattern , mixed  replacement , mixed  str  [, int  limit ]) preg_replace_callback() mixed preg_replace_callback(mixed  pattern , callback  callback , mixed  str  [, int  limit ]) Rather than handling the replacement procedure itself, reg_replace_callback() function delegates the string-replacement procedure to some other user-defined function. The pattern parameter determines what you’re looking for, while the str parameter defines the string you’re searching. The callback parameter defines the name of the function to be used for the replacement task. The optional parameter limit specifies how many matches should take place. Failing to set limit or setting it to -1 will result in the replacement of all occurrences. In the following example, a function named acronym() is passed into preg_replace_callback() and is used to insert the long form of various acronyms into the target string
preg_split() array preg_split (string  pattern , string  string  [, int  limit  [, int  flags ]]) The preg_split() function operates exactly like split(), except that pattern can also be defined in terms of a regular expression. If the optional input parameter limit is specified, only limit number of substrings are returned
Practical of Perl Expressions preg_grep() array preg_grep (string  pattern , array  input  [,  flags ]) <?php $foods = array(&quot;pasta&quot;, &quot;steak&quot;, &quot;fish&quot;, &quot;potatoes&quot;); $food = preg_grep(&quot;/^p/&quot;, $foods); print_r($food); ?> This returns: Array ( [0] => pasta [3] => potatoes )
preg_match() int preg_match (string  pattern , string  string  [, array  matches ] [, int  flags  [, int  offset ]]]) <?php $line = &quot;Vim is the greatest word processor ever created!&quot;; if (preg_match(&quot;/\bVim\b/i&quot;, $line, $match)) print &quot;Match found!&quot;; ?> For instance, this script will confirm a match if the word Vim or vim is located, but not simplevim, vims, or evim.
preg_match_all() int preg_match_all (string  pattern , string  string , array  pattern_array  [, int  order ]) <?php $userinfo = &quot;Name: <b>Zeev Suraski</b> <br> Title: <b>PHP Guru</b>&quot;; preg_match_all (&quot;/<b>(.*)<\/b>/U&quot;, $userinfo, $pat_array); print $pat_array[0][0].&quot; <br> &quot;.$pat_array[0][1].&quot;\n&quot;; ?> This returns: Zeev Suraski PHP Guru
preg_quote() string preg_quote(string  str  [, string  delimiter ]) <?php $text = &quot;Tickets for the bout are going for $500.&quot;; echo preg_quote($text); ?> This returns: Tickets for the bout are going for \$500\.
preg_replace() mixed preg_replace (mixed  pattern , mixed  replacement , mixed  str  [, int  limit ]) <?php $text = &quot;This is a link to http://www.wjgilmore.com/.&quot;; echo preg_replace(&quot;/http:\/\/(.*)\//&quot;, &quot;<a href=\&quot;\${0}\&quot;>\${0}</a>&quot;, $text); ?> This returns: This is a link to <a href=&quot;http://www.wjgilmore.com/&quot;>http://www.wjgilmore.com/</a>.
preg_replace_callback() mixed preg_replace_callback(mixed  pattern , callback  callback , mixed  str [, int  limit ]) <?php // This function will add the acronym long form // directly after any acronyms found in $matches function acronym($matches) { $acronyms = array( 'WWW' => 'World Wide Web', 'IRS' => 'Internal Revenue Service', 'PDF' => 'Portable Document Format'); if (isset($acronyms[$matches[1]])) return $matches[1] . &quot; (&quot; . $acronyms[$matches[1]] . &quot;)&quot;; else return $matches[1];  }
This returns: The IRS (Internal Revenue Service) offers tax forms in PDF (Portable Document Format) on the WWW (World Wide Web). // The target text $text = &quot;The <acronym>IRS</acronym> offers tax forms in <acronym>PDF</acronym> format on the <acronym>WWW</acronym>.&quot;; // Add the acronyms' long forms to the target text $newtext = preg_replace_callback(&quot;/<acronym>(.*)<\/acronym>/U&quot;, 'acronym', $text); print_r($newtext);?>
preg_split() array preg_split (string  pattern , string  string  [, int  limit  [, int  flags ]]) <?php $delimitedText = &quot;+Jason+++Gilmore+++++++++++Columbus+++OH&quot;; $fields = preg_split(&quot;/\+{1,}/&quot;, $delimitedText); foreach($fields as $field) echo $field.&quot;<br />&quot;; ?> This returns the following: Jason Gilmore Columbus OH
 
 
 
 
 
 
 
 
 

More Related Content

What's hot (20)

Adv. python regular expression by Rj
Adv. python regular expression by RjAdv. python regular expression by Rj
Adv. python regular expression by Rj
Shree M.L.Kakadiya MCA mahila college, Amreli
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
Bharat17485
 
Intoduction to php strings
Intoduction to php  stringsIntoduction to php  strings
Intoduction to php strings
baabtra.com - No. 1 supplier of quality freshers
 
Class 5 - PHP Strings
Class 5 - PHP StringsClass 5 - PHP Strings
Class 5 - PHP Strings
Ahmed Swilam
 
String variable in php
String variable in phpString variable in php
String variable in php
chantholnet
 
Andrei's Regex Clinic
Andrei's Regex ClinicAndrei's Regex Clinic
Andrei's Regex Clinic
Andrei Zmievski
 
Regex Presentation
Regex PresentationRegex Presentation
Regex Presentation
arnolambert
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
Mahzad Zahedi
 
Python advanced 2. regular expression in python
Python advanced 2. regular expression in pythonPython advanced 2. regular expression in python
Python advanced 2. regular expression in python
John(Qiang) Zhang
 
Python - Regular Expressions
Python - Regular ExpressionsPython - Regular Expressions
Python - Regular Expressions
Mukesh Tekwani
 
11. using regular expressions with oracle database
11. using regular expressions with oracle database11. using regular expressions with oracle database
11. using regular expressions with oracle database
Amrit Kaur
 
Bioinformatica 06-10-2011-p2 introduction
Bioinformatica 06-10-2011-p2 introductionBioinformatica 06-10-2011-p2 introduction
Bioinformatica 06-10-2011-p2 introduction
Prof. Wim Van Criekinge
 
Regular Expressions
Regular ExpressionsRegular Expressions
Regular Expressions
Satya Narayana
 
The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++
Anjesh Tuladhar
 
Ruby cheat sheet
Ruby cheat sheetRuby cheat sheet
Ruby cheat sheet
Tharcius Silva
 
Introduction to regular expressions
Introduction to regular expressionsIntroduction to regular expressions
Introduction to regular expressions
Ben Brumfield
 
Strings in Python
Strings in PythonStrings in Python
Strings in Python
nitamhaske
 
Bioinformatics p2-p3-perl-regexes v2014
Bioinformatics p2-p3-perl-regexes v2014Bioinformatics p2-p3-perl-regexes v2014
Bioinformatics p2-p3-perl-regexes v2014
Prof. Wim Van Criekinge
 
Python (regular expression)
Python (regular expression)Python (regular expression)
Python (regular expression)
Chirag Shetty
 
Regular Expressions 101 Introduction to Regular Expressions
Regular Expressions 101 Introduction to Regular ExpressionsRegular Expressions 101 Introduction to Regular Expressions
Regular Expressions 101 Introduction to Regular Expressions
Danny Bryant
 
Regular Expression
Regular ExpressionRegular Expression
Regular Expression
Bharat17485
 
Class 5 - PHP Strings
Class 5 - PHP StringsClass 5 - PHP Strings
Class 5 - PHP Strings
Ahmed Swilam
 
String variable in php
String variable in phpString variable in php
String variable in php
chantholnet
 
Regex Presentation
Regex PresentationRegex Presentation
Regex Presentation
arnolambert
 
Python advanced 2. regular expression in python
Python advanced 2. regular expression in pythonPython advanced 2. regular expression in python
Python advanced 2. regular expression in python
John(Qiang) Zhang
 
Python - Regular Expressions
Python - Regular ExpressionsPython - Regular Expressions
Python - Regular Expressions
Mukesh Tekwani
 
11. using regular expressions with oracle database
11. using regular expressions with oracle database11. using regular expressions with oracle database
11. using regular expressions with oracle database
Amrit Kaur
 
Bioinformatica 06-10-2011-p2 introduction
Bioinformatica 06-10-2011-p2 introductionBioinformatica 06-10-2011-p2 introduction
Bioinformatica 06-10-2011-p2 introduction
Prof. Wim Van Criekinge
 
The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++The Power of Regular Expression: use in notepad++
The Power of Regular Expression: use in notepad++
Anjesh Tuladhar
 
Introduction to regular expressions
Introduction to regular expressionsIntroduction to regular expressions
Introduction to regular expressions
Ben Brumfield
 
Strings in Python
Strings in PythonStrings in Python
Strings in Python
nitamhaske
 
Python (regular expression)
Python (regular expression)Python (regular expression)
Python (regular expression)
Chirag Shetty
 
Regular Expressions 101 Introduction to Regular Expressions
Regular Expressions 101 Introduction to Regular ExpressionsRegular Expressions 101 Introduction to Regular Expressions
Regular Expressions 101 Introduction to Regular Expressions
Danny Bryant
 

Similar to Php String And Regular Expressions (20)

Regex posix
Regex posixRegex posix
Regex posix
sana mateen
 
php string part 4
php string part 4php string part 4
php string part 4
monikadeshmane
 
Php Chapter 4 Training
Php Chapter 4 TrainingPhp Chapter 4 Training
Php Chapter 4 Training
Chris Chubb
 
Basta mastering regex power
Basta mastering regex powerBasta mastering regex power
Basta mastering regex power
Max Kleiner
 
Regular expressions in php programming language.pptx
Regular expressions in php programming language.pptxRegular expressions in php programming language.pptx
Regular expressions in php programming language.pptx
NikhilVij6
 
Tutorial on Regular Expression in Perl (perldoc Perlretut)
Tutorial on Regular Expression in Perl (perldoc Perlretut)Tutorial on Regular Expression in Perl (perldoc Perlretut)
Tutorial on Regular Expression in Perl (perldoc Perlretut)
FrescatiStory
 
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekingeBioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Prof. Wim Van Criekinge
 
Regex Basics
Regex BasicsRegex Basics
Regex Basics
Jeremy Coates
 
Lecture 23
Lecture 23Lecture 23
Lecture 23
rhshriva
 
regex.ppt
regex.pptregex.ppt
regex.ppt
ansariparveen06
 
Variables In Php 1
Variables In Php 1Variables In Php 1
Variables In Php 1
Digital Insights - Digital Marketing Agency
 
Perl Presentation
Perl PresentationPerl Presentation
Perl Presentation
Sopan Shewale
 
Php pattern matching
Php pattern matchingPhp pattern matching
Php pattern matching
JIGAR MAKHIJA
 
Working with text, Regular expressions
Working with text, Regular expressionsWorking with text, Regular expressions
Working with text, Regular expressions
Krasimir Berov (Красимир Беров)
 
Unit 1-strings,patterns and regular expressions
Unit 1-strings,patterns and regular expressionsUnit 1-strings,patterns and regular expressions
Unit 1-strings,patterns and regular expressions
sana mateen
 
Strings,patterns and regular expressions in perl
Strings,patterns and regular expressions in perlStrings,patterns and regular expressions in perl
Strings,patterns and regular expressions in perl
sana mateen
 
Basic perl programming
Basic perl programmingBasic perl programming
Basic perl programming
Thang Nguyen
 
perl-pocket
perl-pocketperl-pocket
perl-pocket
tutorialsruby
 
perl-pocket
perl-pocketperl-pocket
perl-pocket
tutorialsruby
 
perl-pocket
perl-pocketperl-pocket
perl-pocket
tutorialsruby
 
Php Chapter 4 Training
Php Chapter 4 TrainingPhp Chapter 4 Training
Php Chapter 4 Training
Chris Chubb
 
Basta mastering regex power
Basta mastering regex powerBasta mastering regex power
Basta mastering regex power
Max Kleiner
 
Regular expressions in php programming language.pptx
Regular expressions in php programming language.pptxRegular expressions in php programming language.pptx
Regular expressions in php programming language.pptx
NikhilVij6
 
Tutorial on Regular Expression in Perl (perldoc Perlretut)
Tutorial on Regular Expression in Perl (perldoc Perlretut)Tutorial on Regular Expression in Perl (perldoc Perlretut)
Tutorial on Regular Expression in Perl (perldoc Perlretut)
FrescatiStory
 
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekingeBioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Prof. Wim Van Criekinge
 
Lecture 23
Lecture 23Lecture 23
Lecture 23
rhshriva
 
Php pattern matching
Php pattern matchingPhp pattern matching
Php pattern matching
JIGAR MAKHIJA
 
Unit 1-strings,patterns and regular expressions
Unit 1-strings,patterns and regular expressionsUnit 1-strings,patterns and regular expressions
Unit 1-strings,patterns and regular expressions
sana mateen
 
Strings,patterns and regular expressions in perl
Strings,patterns and regular expressions in perlStrings,patterns and regular expressions in perl
Strings,patterns and regular expressions in perl
sana mateen
 
Basic perl programming
Basic perl programmingBasic perl programming
Basic perl programming
Thang Nguyen
 
Ad

More from mussawir20 (20)

Php Operators N Controllers
Php Operators N ControllersPhp Operators N Controllers
Php Operators N Controllers
mussawir20
 
Php Calling Operators
Php Calling OperatorsPhp Calling Operators
Php Calling Operators
mussawir20
 
Database Design Process
Database Design ProcessDatabase Design Process
Database Design Process
mussawir20
 
Php Simple Xml
Php Simple XmlPhp Simple Xml
Php Simple Xml
mussawir20
 
Php Sq Lite
Php Sq LitePhp Sq Lite
Php Sq Lite
mussawir20
 
Php Sessoins N Cookies
Php Sessoins N CookiesPhp Sessoins N Cookies
Php Sessoins N Cookies
mussawir20
 
Php Rss
Php RssPhp Rss
Php Rss
mussawir20
 
Php Reusing Code And Writing Functions
Php Reusing Code And Writing FunctionsPhp Reusing Code And Writing Functions
Php Reusing Code And Writing Functions
mussawir20
 
Php Oop
Php OopPhp Oop
Php Oop
mussawir20
 
Php My Sql
Php My SqlPhp My Sql
Php My Sql
mussawir20
 
Php File Operations
Php File OperationsPhp File Operations
Php File Operations
mussawir20
 
Php Error Handling
Php Error HandlingPhp Error Handling
Php Error Handling
mussawir20
 
Php Crash Course
Php Crash CoursePhp Crash Course
Php Crash Course
mussawir20
 
Php Basic Security
Php Basic SecurityPhp Basic Security
Php Basic Security
mussawir20
 
Php Using Arrays
Php Using ArraysPhp Using Arrays
Php Using Arrays
mussawir20
 
Javascript Oop
Javascript OopJavascript Oop
Javascript Oop
mussawir20
 
Html
HtmlHtml
Html
mussawir20
 
Javascript
JavascriptJavascript
Javascript
mussawir20
 
Object Range
Object RangeObject Range
Object Range
mussawir20
 
Prototype Utility Methods(1)
Prototype Utility Methods(1)Prototype Utility Methods(1)
Prototype Utility Methods(1)
mussawir20
 
Php Operators N Controllers
Php Operators N ControllersPhp Operators N Controllers
Php Operators N Controllers
mussawir20
 
Php Calling Operators
Php Calling OperatorsPhp Calling Operators
Php Calling Operators
mussawir20
 
Database Design Process
Database Design ProcessDatabase Design Process
Database Design Process
mussawir20
 
Php Simple Xml
Php Simple XmlPhp Simple Xml
Php Simple Xml
mussawir20
 
Php Sessoins N Cookies
Php Sessoins N CookiesPhp Sessoins N Cookies
Php Sessoins N Cookies
mussawir20
 
Php Reusing Code And Writing Functions
Php Reusing Code And Writing FunctionsPhp Reusing Code And Writing Functions
Php Reusing Code And Writing Functions
mussawir20
 
Php File Operations
Php File OperationsPhp File Operations
Php File Operations
mussawir20
 
Php Error Handling
Php Error HandlingPhp Error Handling
Php Error Handling
mussawir20
 
Php Crash Course
Php Crash CoursePhp Crash Course
Php Crash Course
mussawir20
 
Php Basic Security
Php Basic SecurityPhp Basic Security
Php Basic Security
mussawir20
 
Php Using Arrays
Php Using ArraysPhp Using Arrays
Php Using Arrays
mussawir20
 
Javascript Oop
Javascript OopJavascript Oop
Javascript Oop
mussawir20
 
Prototype Utility Methods(1)
Prototype Utility Methods(1)Prototype Utility Methods(1)
Prototype Utility Methods(1)
mussawir20
 
Ad

Recently uploaded (20)

Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Cisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdfCisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdf
superdpz
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 
Oracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI ProfessionalOracle Cloud Infrastructure Generative AI Professional
Oracle Cloud Infrastructure Generative AI Professional
VICTOR MAESTRE RAMIREZ
 
Oracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI FoundationsOracle Cloud Infrastructure AI Foundations
Oracle Cloud Infrastructure AI Foundations
VICTOR MAESTRE RAMIREZ
 
How to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptxHow to Detect Outliers in IBM SPSS Statistics.pptx
How to Detect Outliers in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
 
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2Agentic AI: Beyond the Buzz- LangGraph Studio V2
Agentic AI: Beyond the Buzz- LangGraph Studio V2
Shashikant Jagtap
 
If You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FMEIf You Use Databricks, You Definitely Need FME
If You Use Databricks, You Definitely Need FME
Safe Software
 
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FMEEnabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
“State-space Models vs. Transformers for Ultra-low-power Edge AI,” a Presenta...
Edge AI and Vision Alliance
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy SurveyTrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Integration of Utility Data into 3D BIM Models Using a 3D Solids Modeling Wor...
Safe Software
 
Cisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdfCisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdf
superdpz
 
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
 
The State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry ReportThe State of Web3 Industry- Industry Report
The State of Web3 Industry- Industry Report
Liveplex
 

Php String And Regular Expressions

  • 1. String Manipulation and Regular Expressions
  • 3. BRACKETS [ ] Shows the range of search from the string [0-9] matches any decimal digit from 0 through 9. [a-z] matches any character from lowercase a through lowercase z. [A-Z] matches any character from uppercase A through uppercase Z. [A-Za-z] matches any character from uppercase A through lowercase z.
  • 4. Quantifiers The frequency or position of bracketed character sequences and single characters can be denoted by a special character, with each special character having a specific connotation. The +, *, ?,{occurrence_range}, and $ flags all follow a character sequence:
  • 5. • p+ matches any string containing at least one p. • p* matches any string containing zero or more p’s. • p? matches any string containing zero or one p. • p{2} matches any string containing a sequence of two p’s. • p{2,3} matches any string containing a sequence of two or three p’s. • p{2,} matches any string containing a sequence of at least two p’s. • p$ matches any string with p at the end of it. Still other flags can precede and be inserted before and within a character sequence: • ^p matches any string with p at the beginning of it. • [^a-zA-Z] matches any string not containing any of the characters ranging from a through z and A through Z. • p.p matches any string containing p, followed by any character, in turn followed by another p.
  • 6. • ^.{2}$ matches any string containing exactly two characters. • <b>(.*)</b> matches any string enclosed within <b> and </b> (presumably HTML bold tags). • p(hp)* matches any string containing a p followed by zero or more instances of the sequence hp. Search a dolor Sign in a string ([\$])([0-9]+)
  • 7. Predefined Character Ranges (Character Classes) • [:alpha:]: Lowercase and uppercase alphabetical characters. This can also be specified as [A-Za-z]. • [:alnum:]: Lowercase and uppercase alphabetical characters and numerical digits. This can also be specified as [A-Za-z0-9]. • [:cntrl:]: Control characters such as a tab, escape, or backspace. • [:digit:]: Numerical digits 0 through 9. This can also be specified as [0-9]. • [:graph:]: Printable characters found in the range of ASCII 33 to 126. • [:lower:]: Lowercase alphabetical characters. This can also be specified as [a-z]. • [:punct:]: Punctuation characters, including ~ ` ! @ # $ % ^ & * ( ) - _ + = { } [ ] : ; ' < > , . ? and /. • [:upper:]: Uppercase alphabetical characters. This can also be specified as [A-Z]. • [:space:]: Whitespace characters, including the space, horizontal tab, vertical tab, new line, form feed, or carriage return. • [:xdigit:]: Hexadecimal characters. This can also be specified as [a-fA-F0-9].
  • 8. ereg() executes a case-sensitive search of string for pattern, returning TRUE if the pattern is found and FALSE otherwise. eregi() Unlike ereg(), the search is case insensitive.This function can be useful when checking the validity of strings, such as passwords. ereg_replace() The ereg_replace() function operates much like ereg(), except that the functionality is extended to finding and replacing pattern with replacement instead of simply locating it. If no matches are found, the string will remain unchanged. Like ereg(), ereg_replace() is case sensitive. eregi_replace() The eregi_replace() function operates exactly like ereg_replace(), except that the search for pattern in string is not case sensitive. PHP’s Regular Expression Functions (POSIX Extended)
  • 9. split() The split() function divides string into various elements, with the boundaries of each element based on the occurrence of pattern in string. The optional input parameter limit is used to specify the number of elements into which the string should be divided, starting from the left end of the string and working rightward. In cases where the pattern is an alphabetical character, split() is case sensitive. Here’s how you would use split() to break a string into pieces based on occurrences of horizontal tabs and newline characters: spliti() The spliti() function operates exactly in the same manner as its sibling split(), except that it is case insensitive. sql_regcase() The sql_regcase() function converts each character in string into a bracketed expression containing two characters. If the character is alphabetic, the bracket will contain both forms; otherwise, the original character will be left unchanged. This function is particularly useful when PHP is used in conjunction with products that support only case-sensitive regular expressions. Here’s how you would use sql_regcase() to convert a string:
  • 10. Practical Examples <?php $username = &quot;jasoN&quot;; if (ereg(&quot;([^a-z])&quot;,$username)) echo &quot;Username must be all lowercase!&quot;; ?> ereg() boolean ereg (string pattern , string string [, array regs ])
  • 11. <?php $url = &quot;http://www.apress.com&quot;; // break $url down into three distinct pieces: // &quot;http://www&quot;, &quot;apress&quot;, and &quot;com&quot; $parts = ereg(&quot;^(http://www)\.([[:alnum:]]+)\.([[:alnum:]]+)&quot;, $url, $regs); echo $regs[0]; // outputs the entire string &quot;http://www.apress.com&quot; echo &quot;<br>&quot;; echo $regs[1]; // outputs &quot;http://www&quot; echo &quot;<br>&quot;; echo $regs[2]; // outputs &quot;apress&quot; echo &quot;<br>&quot;; echo $regs[3]; // outputs &quot;com&quot; ?> This returns: http://www.apress.com http://www apress com
  • 12. eregi() int eregi (string pattern , string string , [array regs ]) <?php $pswd = &quot;jasongild&quot;; if (!eregi(&quot;^[a-zA-Z0-9]{8,10}$&quot;, $pswd)) echo &quot;The password must consist solely of alphanumeric characters, and must be 8-10 characters in length!&quot;; ?> In this example, the user must provide an alphanumeric password consisting of 8 to 10 characters, or else an error message is displayed.
  • 13. ereg_replace() string ereg_replace (string pattern , string replacement , string string ) <?php $text = &quot;This is a link to http://www.wjgilmore.com/.&quot;; echo ereg_replace(&quot;http://([a-zA-Z0-9./-]+)$&quot;, &quot;<a href=\&quot;\\0\&quot;>\\0</a>&quot;,$text); ?> This returns: href=&quot;http://www.wjgilmore.com/&quot;>http://www.wjgilmore.com</a>.
  • 14. split() array split (string pattern , string string [, int limit ]) <?php $text = &quot;this is\tsome text that\nwe might like to parse.&quot;; print_r(split(&quot;[\n\t]&quot;,$text)); ?> Array ( [0] => this is [1] => some text that [2] => we might like to parse. )
  • 15. sql_regcase() string sql_regcase (string string ) <?php $version = &quot;php 4.0&quot;; print sql_regcase($version); ?> Output: [Pp] [Hh] [Pp] 4.0
  • 16. Regular Expression Syntax (Perl Style) Modifiers
  • 17. Metacharacters • \A: Matches only at the beginning of the string. • \b: Matches a word boundary. • \B: Matches anything but a word boundary. • \d: Matches a digit character. This is the same as [0-9]. • \D: Matches a nondigit character. • \s: Matches a whitespace character. • \S: Matches a nonwhitespace character. • []: Encloses a character class. A list of useful character classes was provided in the previous section. • (): Encloses a character grouping or defines a back reference. • $: Matches the end of a line. • ^: Matches the beginning of a line. • .: Matches any character except for the newline.
  • 18. • \: Quotes the next metacharacter. • \w: Matches any string containing solely underscore and alphanumeric characters. This is the same as [a-zA-Z0-9_]. • \W: Matches a string, omitting the underscore and alphanumeric characters.
  • 19. Let’s consider a few examples: /sa\b/ Because the word boundary is defined to be on the right side of the strings, this will match strings like pisa and lisa, but not sand. /\blinux\b/i This returns the first case-insensitive occurrence of the word linux. /sa\B/ The opposite of the word boundary metacharacter is \B, matching on anything but a word boundary. This will match strings like sand and Sally, but not Melissa. /\$\d+\g This returns all instances of strings matching a dollar sign followed by one or more digits.
  • 20. PHP’s Regular Expression Functions (Perl Compatible) preg_grep() array preg_grep (string pattern , array input [, flags ]) The preg_grep() function searches all elements of the array input, returning an array consisting of all elements matching pattern. Consider an example that uses this function to search an array for foods beginning with p : preg_match() int preg_match (string pattern , string string [, array matches ] [, int flags [, int offset ]]]) The preg_match() function searches string for pattern, returning TRUE if it exists and FALSE otherwise. The optional input parameter pattern_array can contain various sections of the subpatterns contained in the search pattern, if applicable. Here’s an example that uses preg_match() to perform a case-sensitive search:
  • 21. preg_match_all() int preg_match_all (string pattern , string string , array pattern_array [, int order ]) The preg_match_all() function matches all occurrences of pattern in string, assigning each occurrence to array pattern_array in the order you specify via the optional input parameter order. The order parameter accepts two values: preg_quote() string preg_quote(string str [, string delimiter ]) The function preg_quote() inserts a backslash delimiter before every character of special significance to regular expression syntax. These special characters include: $ ^ * ( ) + = { } [ ] | \\ : < >. The optional parameter delimiter is used to specify what delimiter is used for the regular expression, causing it to also be escaped by a backslash.
  • 22. The preg_replace() function operates identically to ereg_replace(), except that it uses a Perlbased regular expression syntax, replacing all occurrences of pattern with replacement, and returning the modified result. The optional input parameter limit specifies how many matches should take place. Failing to set limit or setting it to -1 will result in the replacement of all occurrences. preg_replace() mixed preg_replace (mixed pattern , mixed replacement , mixed str [, int limit ]) preg_replace_callback() mixed preg_replace_callback(mixed pattern , callback callback , mixed str [, int limit ]) Rather than handling the replacement procedure itself, reg_replace_callback() function delegates the string-replacement procedure to some other user-defined function. The pattern parameter determines what you’re looking for, while the str parameter defines the string you’re searching. The callback parameter defines the name of the function to be used for the replacement task. The optional parameter limit specifies how many matches should take place. Failing to set limit or setting it to -1 will result in the replacement of all occurrences. In the following example, a function named acronym() is passed into preg_replace_callback() and is used to insert the long form of various acronyms into the target string
  • 23. preg_split() array preg_split (string pattern , string string [, int limit [, int flags ]]) The preg_split() function operates exactly like split(), except that pattern can also be defined in terms of a regular expression. If the optional input parameter limit is specified, only limit number of substrings are returned
  • 24. Practical of Perl Expressions preg_grep() array preg_grep (string pattern , array input [, flags ]) <?php $foods = array(&quot;pasta&quot;, &quot;steak&quot;, &quot;fish&quot;, &quot;potatoes&quot;); $food = preg_grep(&quot;/^p/&quot;, $foods); print_r($food); ?> This returns: Array ( [0] => pasta [3] => potatoes )
  • 25. preg_match() int preg_match (string pattern , string string [, array matches ] [, int flags [, int offset ]]]) <?php $line = &quot;Vim is the greatest word processor ever created!&quot;; if (preg_match(&quot;/\bVim\b/i&quot;, $line, $match)) print &quot;Match found!&quot;; ?> For instance, this script will confirm a match if the word Vim or vim is located, but not simplevim, vims, or evim.
  • 26. preg_match_all() int preg_match_all (string pattern , string string , array pattern_array [, int order ]) <?php $userinfo = &quot;Name: <b>Zeev Suraski</b> <br> Title: <b>PHP Guru</b>&quot;; preg_match_all (&quot;/<b>(.*)<\/b>/U&quot;, $userinfo, $pat_array); print $pat_array[0][0].&quot; <br> &quot;.$pat_array[0][1].&quot;\n&quot;; ?> This returns: Zeev Suraski PHP Guru
  • 27. preg_quote() string preg_quote(string str [, string delimiter ]) <?php $text = &quot;Tickets for the bout are going for $500.&quot;; echo preg_quote($text); ?> This returns: Tickets for the bout are going for \$500\.
  • 28. preg_replace() mixed preg_replace (mixed pattern , mixed replacement , mixed str [, int limit ]) <?php $text = &quot;This is a link to http://www.wjgilmore.com/.&quot;; echo preg_replace(&quot;/http:\/\/(.*)\//&quot;, &quot;<a href=\&quot;\${0}\&quot;>\${0}</a>&quot;, $text); ?> This returns: This is a link to <a href=&quot;http://www.wjgilmore.com/&quot;>http://www.wjgilmore.com/</a>.
  • 29. preg_replace_callback() mixed preg_replace_callback(mixed pattern , callback callback , mixed str [, int limit ]) <?php // This function will add the acronym long form // directly after any acronyms found in $matches function acronym($matches) { $acronyms = array( 'WWW' => 'World Wide Web', 'IRS' => 'Internal Revenue Service', 'PDF' => 'Portable Document Format'); if (isset($acronyms[$matches[1]])) return $matches[1] . &quot; (&quot; . $acronyms[$matches[1]] . &quot;)&quot;; else return $matches[1]; }
  • 30. This returns: The IRS (Internal Revenue Service) offers tax forms in PDF (Portable Document Format) on the WWW (World Wide Web). // The target text $text = &quot;The <acronym>IRS</acronym> offers tax forms in <acronym>PDF</acronym> format on the <acronym>WWW</acronym>.&quot;; // Add the acronyms' long forms to the target text $newtext = preg_replace_callback(&quot;/<acronym>(.*)<\/acronym>/U&quot;, 'acronym', $text); print_r($newtext);?>
  • 31. preg_split() array preg_split (string pattern , string string [, int limit [, int flags ]]) <?php $delimitedText = &quot;+Jason+++Gilmore+++++++++++Columbus+++OH&quot;; $fields = preg_split(&quot;/\+{1,}/&quot;, $delimitedText); foreach($fields as $field) echo $field.&quot;<br />&quot;; ?> This returns the following: Jason Gilmore Columbus OH
  • 32.  
  • 33.  
  • 34.  
  • 35.  
  • 36.  
  • 37.  
  • 38.  
  • 39.  
  • 40.