SlideShare a Scribd company logo
PHP Strings
Outline
What are Strings ?
• A string is a series of characters.
• Can contain any arbitrary number of characters, the only
limit is the memory limit.
Ways To Write a String
Escaping characters
• Escaping is done using the backslash “” character :
$x = “He said “I’m a developer” ”;
$e = ‘He said ”I’m a developer” ’;
$d = “ $z ”; // $d has the value of the variable $z
$r = “ $z ”; // r has the value: $z
Special characters
• The most frequently used special characters we have are :
o n : linefeed
o t : the tab ( a number of spaces )
• We can only output these characters in double quoted
and heredoc strings.
• echo “Hin PHP”; // prints “Hi” then “PHP” in the next line
• echo ‘Hi n PHP’; // prints “Hi n PHP”
Curly syntax
• In double quoted and heredoc strings, you can have the
following :
$x[10] = “great”;
$x[‘name’] = “strings”;
$y = “ This is {$x[10]} ”; // This is great
$z = “ {$x[‘name’]} are flexible.”; // strings are flexible.
Accessing characters
• Strings can be accessed like arrays to get a specific
character :
$x = “String”;
echo $x[0]; // S
echo $x[1]; // t
echo $x[2]; // r
String Operations
• Concatenation operator “.”:
$x = “Hello ” . “ world”; // Hello world
• Concatenating assignment operator :
$x = “Hello ”;
$x .= “world” // Hello world
String Comparison
1. Can compare strings using “==“ operator :
if( $x == “Hi” )
echo “yes”;
1. Can use strcmp() built-in function :
if( strcmp( $x, “Hi”) == 0 )
echo “yes”;
1. Use strcasecmp() for case insensitive comparisons :
if( strcasecmp( “hi”, “Hi”) == 0 )
echo “yes”;
String Length
The function strlen() returns the length of the string:
Example:
echo strlen( “A string” ); // 8
Searching Strings
int strpos ( string $haystack , mixed $needle [, int $offset = 0
] )
Returns the numeric position of the first occurrence of needle
in the haystack string.
Example:
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme); // 0
Replacing Strings
mixed str_replace ( mixed $search , mixed $replace , mixed
$subject [, int &$count ] )
This function returns a string or an array with all occurrences
of search in subject replaced with the given replace value.
Example:
echo str_replace( “Hi”, “Hello”, “Hi strings.” ); // Hello
strings.
Extracting Strings
string substr ( string $string , int $start [, int $length ] )
Returns the portion of string specified by the start and length
parameters.
Example :
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd
echo substr('abcdef', 0, 8); // abcdef
echo substr('abcdef', -1, 1); // f
Splitting Strings
array explode ( string $delimiter , string $string [, int $limit ])
Returns an array of strings, each of which is a substring of
string formed by splitting it on boundaries formed by the
string delimiter.
Example :
$string = “this is a string";
$pieces = explode(" ", $string);
var_dump($pieces); // prints an array containing the parts
Joining Strings
string implode ( string $glue , array $pieces )
Join array elements with a glue string.
Example :
$array = array( “this”, “is”, “a”, “string” );
$string= implode(" ", $array);
echo $string; // this is a string
Exercise
Write a PHP function that reverses the string words, so If we
have a string like this :
this is the php strings lesson
The function should return this :
lesson strings php the is this
Exercise solution
<?php
function reverse_words($string){
$result = "";
$exploded = explode(" ", $string);
$reversed = array_reverse($exploded);
$result = implode(" ", $reversed);
return $result;
}
reverse_words( "this is the php strings lesson" );
?>
Formatting Strings
string number_format ( float $number , int $decimals = 0 ,
string $dec_point = '.' , string $thousands_sep = ',' )
This function formats a number according to the passed
arguments.
Example :
$number = 1234.5678;
$english_format_number = number_format($number,
2, '.', ''); // 1234.57
Formatting Strings
string sprintf ( string $format [, mixed $args [, mixed $... ]] )
Returns a string produced according to the formatting string
format.
Example
printf(“My name is %s and my age is %d", “John”, 20 ); //
My name is John and my age is 20
For a complete list of details, visit :
http://php.net/manual/en/function.sprintf.php
Regular Expressions
• Regular expressions ( Regex ) provide flexible means for
matching strings of text.
• For example :
How can I check whether the user supplied a valid e-
mail or not ?
• There should be something that tells :
Is the string like some characters/digits then @ then
some characters/digits then .com ??? Here comes the
regex.
Meta Characters
Meta characters are characters the have some special meanings
in the regex pattern.
Character Description
 general escape character with several uses
^ assert start of subject (or line, in multiline mode)
$ assert end of subject (or line, in multiline mode)
. match any character except newline (by default)
[ start character class definition
] End character class definition
| start of alternative branch
( Start of sub pattern
) End of sub pattern
Meta Characters
Character Description
? 0 or 1
* 0 or more
+ 1 or more
{ Start min/max number of occurrences
} End min/max number of occurrences
^ negate the class, but only if it is the first character
- Character range
Character Classes
Character classes define the type of characters in the regex pattern.
Class Description
d Matches any numeric character - same as [0-9]
D Matches any non-numeric character - same as [^0-9]
s Matches any whitespace character - same as [ tnrfv]
S Matches any non-whitespace character - same as [^ tnrfv]
w Matches any alphanumeric character - same as [a-zA-Z0-9_]
W Matches any non-alphanumeric character - same as [^a-zA-Z0-9_]
Regex Examples
Regular
expression
(pattern)
Match (Subject ) Not match Comment
world Hello world Hello Jim
Match if the pattern is
present anywhere in the
subject
^world world class Hello world
Match if the pattern is
present at the beginning
of the subject
world$ Hello world world class
Match if the pattern is
present at the end of the
subject
/world/i This WoRLd Hello Jim
Makes a search in case
insensitive mode
^world$ world Hello world
The string contains only
the "world"
world*
worl, world,
worlddd
wor
There is 0 or more "d"
after "worl"
world+ world, worlddd worl
There is at least 1 "d"
after "worl"
Regex Examples
Regular
expression
(pattern)
Match (Subject ) Not match Comment
world? worl, world, worly wor, wory
There is 0 or 1 "d" after
"worl"
world{1} world worly
There is 1 "d" after
"worl"
world{1,} world, worlddd worly
There is 1 ore more "d"
after "worl"
world{2,3} worldd, worlddd world
There are 2 or 3 "d" after
"worl"
wo(rld)* wo, world, worldold wa
There is 0 or more "rld"
after "wo"
earth|world earth, world sun
The string contains the
"earth" or the "world"
Regex Examples
Regular
expression
(pattern)
Match (Subject ) Not match Comment
w.rld world, wwrld wrld
Any character in place of
the dot.
^.{5}$ world, earth sun
A string with exactly 5
characters
[abc] abc, bbaccc sun
There is an "a" or "b" or
"c" in the string
[a-z] world WORLD
There are any lowercase
letter in the string
[a-zA-Z]
world, WORLD,
Worl12
123
There are any lower- or
uppercase letter in the
string
[^wW] earth w, W
The actual character can
not be a "w" or "W"
Regex Functions
int preg_match ( string $pattern , string $subject [, array
&$matches [, int $flags = 0 [, int $offset = 0 ]]] )
Searches subject for a match to the regular expression given
in pattern. It will stop by the first occurrence of the pattern.
Example:
$x = preg_match( “/php*/”, “phpppp”, $result ); // returns 1
var_dump($result); // array(1) { [0]=> string(6) "phpppp" }
Regex Functions
int preg_match_all ( string $pattern , string $subject , array
&$matches [, int $flags = PREG_PATTERN_ORDER [, int
$offset = 0 ]] )
Searches subject for a match to the regular expression given
in pattern. It gets all the occurrences of the pattern in the
string.
Example:
$x = preg_match_all( “/php/”, “phpp phpzz”, $result ); // returns 1
var_dump($result); // array(1) { [0]=> array(2) { [0]=> string(3)
"php" [1]=> string(3) "php" } }
Regex Functions
mixed preg_replace ( mixed $pattern , mixed
$replacement , mixed $subject [, int $limit = -1 [, int
&$count ]] )
Searches subject for matches to pattern and replaces them
with replacement.
Example:
$x = preg_replace( “/php*/”, “hi” ,“phpp phppz”);
echo $x ; // hi hiz
Exercise
Write a PHP snippet that checks whether the user has
entered a valid email or not ( the email should end with a
.com ).
Exercise Solution
<?php
$email = "myemail1@example.com";
if(preg_match("/[w]+@[w]+.com/", $email) == 1 )
echo "Valid email";
else
echo "Invalid email";
?>
More info about Regex
For more info about regular expressions, please visit :
http://www.php.net/manual/en/reference.pcre.pattern.syntax.p
Assignment
1- Write a function that calculates the number of the words a string has.
2- Write a PHP script that matches the following phone numbers :
718 498 1043
718 198-1043
What's Next?
• Web Programming.
Questions?

More Related Content

PPTX
Data types in php
ilakkiya
 
PDF
JavaScript - Chapter 12 - Document Object Model
WebStackAcademy
 
PPT
Arrays in php
Laiby Thomas
 
PDF
Php array
Nikul Shah
 
PPT
Oops concepts in php
CPD INDIA
 
PPT
Php forms
Anne Lee
 
PPT
Php with MYSQL Database
Computer Hardware & Trouble shooting
 
PPT
PHP - Introduction to File Handling with PHP
Vibrant Technologies & Computers
 
Data types in php
ilakkiya
 
JavaScript - Chapter 12 - Document Object Model
WebStackAcademy
 
Arrays in php
Laiby Thomas
 
Php array
Nikul Shah
 
Oops concepts in php
CPD INDIA
 
Php forms
Anne Lee
 
Php with MYSQL Database
Computer Hardware & Trouble shooting
 
PHP - Introduction to File Handling with PHP
Vibrant Technologies & Computers
 

What's hot (20)

PPTX
Javascript event handler
Jesus Obenita Jr.
 
PPTX
Java script
Shyam Khant
 
PPTX
Exception handling c++
Jayant Dalvi
 
PPTX
HTML Forms
Ravinder Kamboj
 
PDF
javascript objects
Vijay Kalyan
 
PPT
Arrays in PHP
Compare Infobase Limited
 
PPT
MYSQL - PHP Database Connectivity
V.V.Vanniaperumal College for Women
 
PPTX
Form Handling using PHP
Nisa Soomro
 
PPT
Java Script ppt
Priya Goyal
 
PPSX
Php and MySQL
Tiji Thomas
 
PDF
C++ Files and Streams
Ahmed Farag
 
PPTX
Introduction to php
shanmukhareddy dasi
 
PPT
Applet life cycle
myrajendra
 
PPTX
class and objects
Payel Guria
 
PPT
PHP - Introduction to Object Oriented Programming with PHP
Vibrant Technologies & Computers
 
PDF
JavaScript - Chapter 11 - Events
WebStackAcademy
 
PPTX
Basic Concepts of OOPs (Object Oriented Programming in Java)
Michelle Anne Meralpis
 
PPTX
Php.ppt
Nidhi mishra
 
PPT
Python GUI Programming
RTS Tech
 
Javascript event handler
Jesus Obenita Jr.
 
Java script
Shyam Khant
 
Exception handling c++
Jayant Dalvi
 
HTML Forms
Ravinder Kamboj
 
javascript objects
Vijay Kalyan
 
MYSQL - PHP Database Connectivity
V.V.Vanniaperumal College for Women
 
Form Handling using PHP
Nisa Soomro
 
Java Script ppt
Priya Goyal
 
Php and MySQL
Tiji Thomas
 
C++ Files and Streams
Ahmed Farag
 
Introduction to php
shanmukhareddy dasi
 
Applet life cycle
myrajendra
 
class and objects
Payel Guria
 
PHP - Introduction to Object Oriented Programming with PHP
Vibrant Technologies & Computers
 
JavaScript - Chapter 11 - Events
WebStackAcademy
 
Basic Concepts of OOPs (Object Oriented Programming in Java)
Michelle Anne Meralpis
 
Php.ppt
Nidhi mishra
 
Python GUI Programming
RTS Tech
 
Ad

Viewers also liked (20)

PPT
Class 7 - PHP Object Oriented Programming
Ahmed Swilam
 
PPT
Class 4 - PHP Arrays
Ahmed Swilam
 
PPTX
Class 8 - Database Programming
Ahmed Swilam
 
PPT
Class 3 - PHP Functions
Ahmed Swilam
 
PPT
Class 1 - World Wide Web Introduction
Ahmed Swilam
 
PPT
Class 2 - Introduction to PHP
Ahmed Swilam
 
PPT
Class 6 - PHP Web Programming
Ahmed Swilam
 
PPTX
Associative arrays in PHP
Suraj Motee
 
PPT
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
PPTX
PHP Functions & Arrays
Henry Osborne
 
KEY
PHPUnit testing to Zend_Test
Michelangelo van Dam
 
PDF
PHP MVC Tutorial 2
Yang Bruce
 
PDF
Intro To Mvc Development In Php
funkatron
 
PPT
Functions in php
Mudasir Syed
 
PPTX
Why to choose laravel framework
Bo-Yi Wu
 
PPTX
How to choose web framework
Bo-Yi Wu
 
PPT
Class and Objects in PHP
Ramasubbu .P
 
PDF
Enterprise-Class PHP Security
ZendCon
 
PPTX
REST API Best Practices & Implementing in Codeigniter
Sachin G Kulkarni
 
ODP
CodeIgniter PHP MVC Framework
Bo-Yi Wu
 
Class 7 - PHP Object Oriented Programming
Ahmed Swilam
 
Class 4 - PHP Arrays
Ahmed Swilam
 
Class 8 - Database Programming
Ahmed Swilam
 
Class 3 - PHP Functions
Ahmed Swilam
 
Class 1 - World Wide Web Introduction
Ahmed Swilam
 
Class 2 - Introduction to PHP
Ahmed Swilam
 
Class 6 - PHP Web Programming
Ahmed Swilam
 
Associative arrays in PHP
Suraj Motee
 
PHP complete reference with database concepts for beginners
Mohammed Mushtaq Ahmed
 
PHP Functions & Arrays
Henry Osborne
 
PHPUnit testing to Zend_Test
Michelangelo van Dam
 
PHP MVC Tutorial 2
Yang Bruce
 
Intro To Mvc Development In Php
funkatron
 
Functions in php
Mudasir Syed
 
Why to choose laravel framework
Bo-Yi Wu
 
How to choose web framework
Bo-Yi Wu
 
Class and Objects in PHP
Ramasubbu .P
 
Enterprise-Class PHP Security
ZendCon
 
REST API Best Practices & Implementing in Codeigniter
Sachin G Kulkarni
 
CodeIgniter PHP MVC Framework
Bo-Yi Wu
 
Ad

Similar to Class 5 - PHP Strings (20)

PPT
Php String And Regular Expressions
mussawir20
 
PPTX
PHP Strings and Patterns
Henry Osborne
 
ODP
PHP Web Programming
Muthuselvam RS
 
PPTX
UNIT II (7).pptx
DrDhivyaaCRAssistant
 
PPTX
UNIT II (7).pptx
DrDhivyaaCRAssistant
 
PPTX
String handling and arrays by Dr.C.R.Dhivyaa Kongu Engineering College
Dhivyaa C.R
 
PPT
Php Chapter 4 Training
Chris Chubb
 
DOCX
Regular expressionfunction
ADARSH BHATT
 
PDF
php_string.pdf
Sharon Manmothe
 
PDF
Lecture 23
rhshriva
 
PPT
Regular Expressions in PHP, MySQL by programmerblog.net
Programmer Blog
 
PPTX
Regex posix
sana mateen
 
PPTX
Tokens in php (php: Hypertext Preprocessor).pptx
BINJAD1
 
PPTX
Regular expressions in php programming language.pptx
NikhilVij6
 
PPTX
Php pattern matching
JIGAR MAKHIJA
 
PPT
regex.ppt
ansariparveen06
 
PPTX
String variable in php
chantholnet
 
PPT
Regular Expressions 2007
Geoffrey Dunn
 
Php String And Regular Expressions
mussawir20
 
PHP Strings and Patterns
Henry Osborne
 
PHP Web Programming
Muthuselvam RS
 
UNIT II (7).pptx
DrDhivyaaCRAssistant
 
UNIT II (7).pptx
DrDhivyaaCRAssistant
 
String handling and arrays by Dr.C.R.Dhivyaa Kongu Engineering College
Dhivyaa C.R
 
Php Chapter 4 Training
Chris Chubb
 
Regular expressionfunction
ADARSH BHATT
 
php_string.pdf
Sharon Manmothe
 
Lecture 23
rhshriva
 
Regular Expressions in PHP, MySQL by programmerblog.net
Programmer Blog
 
Regex posix
sana mateen
 
Tokens in php (php: Hypertext Preprocessor).pptx
BINJAD1
 
Regular expressions in php programming language.pptx
NikhilVij6
 
Php pattern matching
JIGAR MAKHIJA
 
regex.ppt
ansariparveen06
 
String variable in php
chantholnet
 
Regular Expressions 2007
Geoffrey Dunn
 

Recently uploaded (20)

PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How-Cloud-Computing-Impacts-Businesses-in-2025-and-Beyond.pdf
Artjoker Software Development Company
 
Software Development Methodologies in 2025
KodekX
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 

Class 5 - PHP Strings

  • 3. What are Strings ? • A string is a series of characters. • Can contain any arbitrary number of characters, the only limit is the memory limit.
  • 4. Ways To Write a String
  • 5. Escaping characters • Escaping is done using the backslash “” character : $x = “He said “I’m a developer” ”; $e = ‘He said ”I’m a developer” ’; $d = “ $z ”; // $d has the value of the variable $z $r = “ $z ”; // r has the value: $z
  • 6. Special characters • The most frequently used special characters we have are : o n : linefeed o t : the tab ( a number of spaces ) • We can only output these characters in double quoted and heredoc strings. • echo “Hin PHP”; // prints “Hi” then “PHP” in the next line • echo ‘Hi n PHP’; // prints “Hi n PHP”
  • 7. Curly syntax • In double quoted and heredoc strings, you can have the following : $x[10] = “great”; $x[‘name’] = “strings”; $y = “ This is {$x[10]} ”; // This is great $z = “ {$x[‘name’]} are flexible.”; // strings are flexible.
  • 8. Accessing characters • Strings can be accessed like arrays to get a specific character : $x = “String”; echo $x[0]; // S echo $x[1]; // t echo $x[2]; // r
  • 9. String Operations • Concatenation operator “.”: $x = “Hello ” . “ world”; // Hello world • Concatenating assignment operator : $x = “Hello ”; $x .= “world” // Hello world
  • 10. String Comparison 1. Can compare strings using “==“ operator : if( $x == “Hi” ) echo “yes”; 1. Can use strcmp() built-in function : if( strcmp( $x, “Hi”) == 0 ) echo “yes”; 1. Use strcasecmp() for case insensitive comparisons : if( strcasecmp( “hi”, “Hi”) == 0 ) echo “yes”;
  • 11. String Length The function strlen() returns the length of the string: Example: echo strlen( “A string” ); // 8
  • 12. Searching Strings int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) Returns the numeric position of the first occurrence of needle in the haystack string. Example: $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme); // 0
  • 13. Replacing Strings mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] ) This function returns a string or an array with all occurrences of search in subject replaced with the given replace value. Example: echo str_replace( “Hi”, “Hello”, “Hi strings.” ); // Hello strings.
  • 14. Extracting Strings string substr ( string $string , int $start [, int $length ] ) Returns the portion of string specified by the start and length parameters. Example : echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f
  • 15. Splitting Strings array explode ( string $delimiter , string $string [, int $limit ]) Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string delimiter. Example : $string = “this is a string"; $pieces = explode(" ", $string); var_dump($pieces); // prints an array containing the parts
  • 16. Joining Strings string implode ( string $glue , array $pieces ) Join array elements with a glue string. Example : $array = array( “this”, “is”, “a”, “string” ); $string= implode(" ", $array); echo $string; // this is a string
  • 17. Exercise Write a PHP function that reverses the string words, so If we have a string like this : this is the php strings lesson The function should return this : lesson strings php the is this
  • 18. Exercise solution <?php function reverse_words($string){ $result = ""; $exploded = explode(" ", $string); $reversed = array_reverse($exploded); $result = implode(" ", $reversed); return $result; } reverse_words( "this is the php strings lesson" ); ?>
  • 19. Formatting Strings string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' ) This function formats a number according to the passed arguments. Example : $number = 1234.5678; $english_format_number = number_format($number, 2, '.', ''); // 1234.57
  • 20. Formatting Strings string sprintf ( string $format [, mixed $args [, mixed $... ]] ) Returns a string produced according to the formatting string format. Example printf(“My name is %s and my age is %d", “John”, 20 ); // My name is John and my age is 20 For a complete list of details, visit : http://php.net/manual/en/function.sprintf.php
  • 21. Regular Expressions • Regular expressions ( Regex ) provide flexible means for matching strings of text. • For example : How can I check whether the user supplied a valid e- mail or not ? • There should be something that tells : Is the string like some characters/digits then @ then some characters/digits then .com ??? Here comes the regex.
  • 22. Meta Characters Meta characters are characters the have some special meanings in the regex pattern. Character Description general escape character with several uses ^ assert start of subject (or line, in multiline mode) $ assert end of subject (or line, in multiline mode) . match any character except newline (by default) [ start character class definition ] End character class definition | start of alternative branch ( Start of sub pattern ) End of sub pattern
  • 23. Meta Characters Character Description ? 0 or 1 * 0 or more + 1 or more { Start min/max number of occurrences } End min/max number of occurrences ^ negate the class, but only if it is the first character - Character range
  • 24. Character Classes Character classes define the type of characters in the regex pattern. Class Description d Matches any numeric character - same as [0-9] D Matches any non-numeric character - same as [^0-9] s Matches any whitespace character - same as [ tnrfv] S Matches any non-whitespace character - same as [^ tnrfv] w Matches any alphanumeric character - same as [a-zA-Z0-9_] W Matches any non-alphanumeric character - same as [^a-zA-Z0-9_]
  • 25. Regex Examples Regular expression (pattern) Match (Subject ) Not match Comment world Hello world Hello Jim Match if the pattern is present anywhere in the subject ^world world class Hello world Match if the pattern is present at the beginning of the subject world$ Hello world world class Match if the pattern is present at the end of the subject /world/i This WoRLd Hello Jim Makes a search in case insensitive mode ^world$ world Hello world The string contains only the "world" world* worl, world, worlddd wor There is 0 or more "d" after "worl" world+ world, worlddd worl There is at least 1 "d" after "worl"
  • 26. Regex Examples Regular expression (pattern) Match (Subject ) Not match Comment world? worl, world, worly wor, wory There is 0 or 1 "d" after "worl" world{1} world worly There is 1 "d" after "worl" world{1,} world, worlddd worly There is 1 ore more "d" after "worl" world{2,3} worldd, worlddd world There are 2 or 3 "d" after "worl" wo(rld)* wo, world, worldold wa There is 0 or more "rld" after "wo" earth|world earth, world sun The string contains the "earth" or the "world"
  • 27. Regex Examples Regular expression (pattern) Match (Subject ) Not match Comment w.rld world, wwrld wrld Any character in place of the dot. ^.{5}$ world, earth sun A string with exactly 5 characters [abc] abc, bbaccc sun There is an "a" or "b" or "c" in the string [a-z] world WORLD There are any lowercase letter in the string [a-zA-Z] world, WORLD, Worl12 123 There are any lower- or uppercase letter in the string [^wW] earth w, W The actual character can not be a "w" or "W"
  • 28. Regex Functions int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) Searches subject for a match to the regular expression given in pattern. It will stop by the first occurrence of the pattern. Example: $x = preg_match( “/php*/”, “phpppp”, $result ); // returns 1 var_dump($result); // array(1) { [0]=> string(6) "phpppp" }
  • 29. Regex Functions int preg_match_all ( string $pattern , string $subject , array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]] ) Searches subject for a match to the regular expression given in pattern. It gets all the occurrences of the pattern in the string. Example: $x = preg_match_all( “/php/”, “phpp phpzz”, $result ); // returns 1 var_dump($result); // array(1) { [0]=> array(2) { [0]=> string(3) "php" [1]=> string(3) "php" } }
  • 30. Regex Functions mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) Searches subject for matches to pattern and replaces them with replacement. Example: $x = preg_replace( “/php*/”, “hi” ,“phpp phppz”); echo $x ; // hi hiz
  • 31. Exercise Write a PHP snippet that checks whether the user has entered a valid email or not ( the email should end with a .com ).
  • 32. Exercise Solution <?php $email = "[email protected]"; if(preg_match("/[w]+@[w]+.com/", $email) == 1 ) echo "Valid email"; else echo "Invalid email"; ?>
  • 33. More info about Regex For more info about regular expressions, please visit : http://www.php.net/manual/en/reference.pcre.pattern.syntax.p
  • 34. Assignment 1- Write a function that calculates the number of the words a string has. 2- Write a PHP script that matches the following phone numbers : 718 498 1043 718 198-1043
  • 35. What's Next? • Web Programming.