At 12:15 PM 4/14/2006, Geoffrey E. Quelch wrote:
even though the string does contain 9 consecutive spaces, only one is ever
printed to the screen with echo, print or printf.

At 01:19 PM 4/14/2006, Satyam wrote:
It is not PHP but HTML. In HTML any 'whitespace character', that is space, tab or new line, is taken as a single whitespace character. It has nothing to do with PHP.


Geoffrey, another way of saying this is that it's only the SCREEN RENDERING that makes multiple whitespace characters APPEAR to be a single space. If you view the source of your page I think you'll see all your spaces intact.

Since the multiple spaces are really there in your string, you should be able to operate on all of them, for example using string-array functions.

In your script:

        $name = "Space         9";
*       print "<p>Length: ".strlen($name);

        printf("<p>Variable: %s",$name);
        print "<p>Variable: '".$name."'";
        echo "<p>Variable: ".$name;

*       for($i=0; $i< strlen($name); $i++)
*           print "<p>Character: ".$i."\"$name[$i]\"";

...the lines I've marked with an asterisk should reveal the true length of the string, including all nine spaces, even though the screen-print functions make it look like they've been consolidated into one space.

Paul

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to