Home arrow PHP arrow Page 6 - String Theory

A Quick Trim - PHP

You may not know this, but the latest version of PHP comes with avery powerful set of string manipulatation tools. This article takes anin-depth look at these tools and illustrates how they can save you time andeffort in your daily development activities.

TABLE OF CONTENTS:
  1. String Theory
  2. Secret Agent Man
  3. Running Backwards
  4. Getting Into Position
  5. Instant Paralysis
  6. A Quick Trim
  7. Working The Web
By: Vikram Vaswani, (c) Melonfire
Rating: starstarstarstarstar / 13
September 20, 2001

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement
If you're looking to perform a little cosmetic surgery on your strings, a good place to start is the family of trim() functions. The most useful of these, trim(), is constructed specifically to remove whitespace from the beginning and end of a string. This comes in handy if you need to remove whitespace from a value prior to using it elsewhere (a database insert, maybe?)

<? $str = " ever seen a white pigeon?"; // returns "ever seen a white pigeon?" echo trim($str); ?>
It's also a good idea to use the trim() function on data entered into online forms, in order to ensure that your error-checking routines don't miss entries containing only whitespace. Here's an example which illustrates what I mean:

<? $search = " "; // bad code, will not identify that search string // actually contains nothing if ($search != "") { perform_search(); } // good code, will account for whitespace-only entries if (trim($search) != "") { perform_search(); } ?>
You can also use the ltrim() and rtrim() functions, which remove whitespace from the beginning and end of a string respectively.

The next few string functions come in very handy when adjusting the case of a text string from lower- to upper-case, or vice-versa:

strtolower() - convert string to lower case strtoupper()- convert string to upper case ucfirst() - convert the first character of string to upper case ucwords() - convert the first character of each word in string to upper case

Here's an example:

<? $str = "Something's rotten in the state of Denmark"; // returns "something's rotten in the state of denmark" echo strtolower($str); // returns "SOMETHING'S ROTTEN IN THE STATE OF DENMARK" echo strtoupper($str); // returns "Something's rotten in the state of Denmark" echo ucfirst($str); // returns "Something's Rotten In The State Of Denmark" echo ucwords($str); ?>
You've already used the print() function extensively to display output. However, the print() function doesn't allow you to format output in any significant manner - for example, you can't write 1000 as 1,000 or 1 as 00001. And so the clever PHP developers came up with the sprintf() function, which allows you to define the format in which data is output.

Consider the following example:

<? // returns 1.6666666666667 print(5/3); ?>
As you might imagine, that's not very friendly. Ideally, you'd like to display just the "significant digits" of the result. And so, you'd use the sprintf() function:

<? // returns 1.67 echo sprintf("%1.2f", (5/3)); ?>
A quick word of explanation here: the PHP sprintf() function is very similar to the printf() function that C programmers are used to. In order to format the output, you need to use "field templates", templates which represent the format you'd like to display.

Some common field templates are:

%s string
%d decimal number
%x hexadecimal number
%o octal number
%f float number

You can also combine these field templates with numbers which indicate the number of digits to display - for example, %1.2f implies that PHP should only display two digits after the decimal point. If you'd like the formatted string to have a minimum length, you can tell PHP which character to use for padding by prefixing it with a single quote (').

Here are a few more examples of sprintf() in action:

<? // returns 00003 echo sprintf("%05d", 3); // returns $25.99 echo sprintf("$%2.2f", 25.99); // returns ****56 echo sprintf("%'*6d", 56); ?>
In addition to the sprintf() function, PHP also offers the strpad() function, which is used for padding strings to a specific length. This function accepts a string or string variable as argument, together with the minimum string length required; a couple of optional arguments allow you to also specify which character to use for padding, and the direction in which padding is to take place.

Here are a couple of examples:

<? $str = "da bomb"; // returns "da bomb " echo str_pad($str, 10); // returns "da bomb###" echo str_pad($str, 10, "#"); // returns "***da bomb" echo str_pad($str, 10, "*", STR_PAD_LEFT); ?>
Finally, the wordwrap() function can be used to break long sentences at a specified length.

<? $str = "It's been ten years since Dr. Hannibal \"The Cannibal\" Lecter (Anthony Hopkins) escaped from a maximum-security penitentiary - ten years in which he's roamed free, indulging his very specialized tastes. But out of sight is very definitely not out of mind - he still haunts Clarice Starling (Julianne Moore), now a special agent in the FBI."; // returns a word-wrapped block of width 50 characters /* It's been ten years since Dr. Hannibal "The Cannibal" Lecter (Anthony Hopkins) escaped from a maximum-security penitentiary - ten years in which he's roamed free, indulging his very specialized tastes. But out of sight is very definitely not out of mind - he still haunts Clarice Starling (Julianne Moore), now a special agent in the FBI. */ echo wordwrap($str, 50); ?>


 
 
>>> More PHP Articles          >>> More By Vikram Vaswani, (c) Melonfire
 

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort
   

PHP ARTICLES

- Hackers Compromise PHP Sites to Launch Attac...
- Red Hat, Zend Form OpenShift PaaS Alliance
- PHP IDE News
- BCD, Zend Extend PHP Partnership
- PHP FAQ Highlight
- PHP Creator Didn't Set Out to Create a Langu...
- PHP Trends Revealed in Zend Study
- PHP: Best Methods for Running Scheduled Jobs
- PHP Array Functions: array_change_key_case
- PHP array_combine Function
- PHP array_chunk Function
- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...

Developer Shed Affiliates

 


Dev Shed Tutorial Topics: