Difference between revisions of "Working with Strings and Text in PHP"

From Techotopia
Jump to: navigation, search
(Converting to and from ASCII Values)
(Converting to and from ASCII Values)
Line 38: Line 38:
 
* '''ucwords()''' - Converts the first letter of every word to uppercase
 
* '''ucwords()''' - Converts the first letter of every word to uppercase
  
=== Converting to and from ASCII Values ===
+
== Converting to and from ASCII Values ==
  
 
PHP provides the ability to work with ASCII (American Standard Code for Infomration Interchange) values. ASCII maps numerical character codes to standard, human readable characters. There are 127 ASCII characters representing the letters of the alphabext (including upper and lower case), numbers and various punctuation marks. There is also an extended character set which contains 255 characters.
 
PHP provides the ability to work with ASCII (American Standard Code for Infomration Interchange) values. ASCII maps numerical character codes to standard, human readable characters. There are 127 ASCII characters representing the letters of the alphabext (including upper and lower case), numbers and various punctuation marks. There is also an extended character set which contains 255 characters.
Line 71: Line 71:
 
The character for ASCII code for is A
 
The character for ASCII code for is A
 
</pre>
 
</pre>
 +
 +
== Printing Formatting Strings in PHP ==
 +
 +
Those familar with other programming langusges such as C and C++ will probably be familiar with the concept of formatting strings and the ''printf()'' function. The printf function allows strings to constructed which contain variables and provides a number of formatting options for those variables.
 +
 +
Essentially printf allows you to specify a string and define how particular variables are to be embedded in that string. ''fprintf()'' takes two or more arguments and takes the the following form:
 +
 +
fprintf ( "String containing embedded formatting rules", variable1, variable2, ..., +/-, 'padding char', +/-, width, precision, type );
 +
 +
PHP will scan the string for the formatting specifiers or rules and substitute that rule for the corresponding variable.

Revision as of 13:18, 4 June 2007

Given that PHP is essentially a vehicle for the deployment of web content, and that much web content is text based, it should come as no surprise that PHP includes a range of features designed to ease the task of manipulating text and strings.

In this chapter we will explore a number of the functions and techniques provided by PHP to enable you, as a web developer, to perform tasks such as changing the case of a string, replacing one part of a piece of text with another peice of text, searching text and much more.

Changing the Case of a PHP String

PHP provides a number of functions that enable changes to be made to the case of text contained in a string. These functions all take the string to be modified as an argument and return the modifed string. It is important to note that these functions are nondestructive, that is to say they do not make any change to the original string, they simply return a completely new string containing the modification leaving the orignal string unaltered. The returned string can be assigned to a new variable or used directly in another function (such as a print or echo):

<?php
$myString = "This is a test string.";

$newString = strtoupper($myString);     // Assign converted string to a new variable

echo strtolower($myString);             // Use retruned string in a eacho statement
?>

If a change to the original string is required (as opposed to assigning the modified version to a new variable) the returned string can simply be assigned to the original variable:

<?php
$myString = "This is a test string.";

$myString = strtoupper($myString);     // Assign converted string to the orignal variable

?>

The PHP string functions designed to change the case of a string are listed below with descriptions:

  • strtolower() - Converts entire string to lowercase
  • strtoupper() - Converts entire string to uppercase
  • ucfirst() - Converts the first letter of the sentence to uppercase
  • ucwords() - Converts the first letter of every word to uppercase

Converting to and from ASCII Values

PHP provides the ability to work with ASCII (American Standard Code for Infomration Interchange) values. ASCII maps numerical character codes to standard, human readable characters. There are 127 ASCII characters representing the letters of the alphabext (including upper and lower case), numbers and various punctuation marks. There is also an extended character set which contains 255 characters.

PHP provides two functions for the purpose of converting to and from ASCII codes:

  • ord() - Takes a character as an argument and returns the ASCII code corresponding to that character.
  • chr() - Takes an ASCII code as an argument and retuns the character equivalent.

The following example converts a character to an ASCII code and then reverts it back to the character:

<?php
$character = 'A';

$asciicode = ord($character);

echo "The ASCII code for $character is " . $asciicode . '<br>';

$char = chr($asciicode);

echo "The character for ASCII code for $asciicode is " . $char . '<br>';

?>

When executed the above code will produce the following output:

The ASCII code for A is 65
The character for ASCII code for is A

Printing Formatting Strings in PHP

Those familar with other programming langusges such as C and C++ will probably be familiar with the concept of formatting strings and the printf() function. The printf function allows strings to constructed which contain variables and provides a number of formatting options for those variables.

Essentially printf allows you to specify a string and define how particular variables are to be embedded in that string. fprintf() takes two or more arguments and takes the the following form:

fprintf ( "String containing embedded formatting rules", variable1, variable2, ..., +/-, 'padding char', +/-, width, precision, type );

PHP will scan the string for the formatting specifiers or rules and substitute that rule for the corresponding variable.