Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Daniel Brown
On Wed, Feb 27, 2008 at 4:13 PM, Keikonium [EMAIL PROTECTED] wrote:
[snip!]
  I was thinking something like splitting each new line into a separate
  string, capitalizing the first letter with ucfirst(), and then merging the
  string back together might work, but I am not sure how to find a new line.
[snip!]

Here's a function to help you out.  It's also online here:
[Demo]http://www.pilotpig.net/code-library/capitalize-line.php
[Source]
http://www.pilotpig.net/code-library/source.php?f=capitalize-line.php

function ucnewline($str) {
$arr = explode(\n,$str);
foreach($arr as $p) {
$ret .= ucfirst($p).\n;
}
return $ret;
}

-- 
/Dan

Daniel P. Brown
Senior Unix Geek
? while(1) { $me = $mind--; sleep(86400); } ?

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Robert Cummings

On Wed, 2008-02-27 at 16:13 -0500, Keikonium wrote:
 I'm sure this is really easy to accomplish, but I just can't seem to figure 
 it out. I have the following:
 
 $str = 
 mary had a little lamb
 it's fleece was white as snow
 and everywhere that mary went
 the lamb was sure to go;

?php

function ucCallback( $match )
{
return strtoupper( $match[0] );
}

$str = 
mary had a little lamb
it's fleece was white as snow
and everywhere that mary went
the lamb was sure to go;

echo $str.\n\n;

$str = preg_replace_callback( '/\n\r?./ms', 'ucCallback', $str );

?

Cheers,
Rob.
-- 
..
| InterJinn Application Framework - http://www.interjinn.com |
::
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for   |
| creating re-usable components quickly and easily.  |
`'

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Robert Cummings

On Wed, 2008-02-27 at 16:24 -0500, Robert Cummings wrote:
 On Wed, 2008-02-27 at 16:13 -0500, Keikonium wrote:
  I'm sure this is really easy to accomplish, but I just can't seem to figure 
  it out. I have the following:
  
  $str = 
  mary had a little lamb
  it's fleece was white as snow
  and everywhere that mary went
  the lamb was sure to go;
 
 ?php
 
 function ucCallback( $match )
 {
 return strtoupper( $match[0] );
 }
 
 $str = 
 mary had a little lamb
 it's fleece was white as snow
 and everywhere that mary went
 the lamb was sure to go;
 
 echo $str.\n\n;
 
 $str = preg_replace_callback( '/\n\r?./ms', 'ucCallback', $str );

Actually, the regex is slightly more complex if you want to cover
different carriage return / newline orderings and also catch the case
where the text doesn't begin with a newline...

$str =
preg_replace_callback(
'/(^|([\n\r]+))[^\n\r]/ms', 'ucCallback', $str );

Cheers,
Rob.
-- 
..
| InterJinn Application Framework - http://www.interjinn.com |
::
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for   |
| creating re-usable components quickly and easily.  |
`'

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Keikonium
Thank you again Robert, and thank you too Daniel. I have gotten both methods 
to work flawlessly so far :). I am slowly learning by trial and error here, 
but sometimes a little push in the right direction does some good ^_^.


Thanks again :).

Robert Cummings [EMAIL PROTECTED] wrote in message 
news:[EMAIL PROTECTED]


On Wed, 2008-02-27 at 16:24 -0500, Robert Cummings wrote:

On Wed, 2008-02-27 at 16:13 -0500, Keikonium wrote:
 I'm sure this is really easy to accomplish, but I just can't seem to 
 figure

 it out. I have the following:

 $str = 
 mary had a little lamb
 it's fleece was white as snow
 and everywhere that mary went
 the lamb was sure to go;

?php

function ucCallback( $match )
{
return strtoupper( $match[0] );
}

$str = 
mary had a little lamb
it's fleece was white as snow
and everywhere that mary went
the lamb was sure to go;

echo $str.\n\n;

$str = preg_replace_callback( '/\n\r?./ms', 'ucCallback', $str );


Actually, the regex is slightly more complex if you want to cover
different carriage return / newline orderings and also catch the case
where the text doesn't begin with a newline...

   $str =
   preg_replace_callback(
   '/(^|([\n\r]+))[^\n\r]/ms', 'ucCallback', $str );

Cheers,
Rob.
--
..
| InterJinn Application Framework - http://www.interjinn.com |
::
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for   |
| creating re-usable components quickly and easily.  |
`' 


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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Robert Cummings

On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
 Thank you again Robert, and thank you too Daniel. I have gotten both methods 
 to work flawlessly so far :). I am slowly learning by trial and error here, 
 but sometimes a little push in the right direction does some good ^_^.

Nothing against Dan, but you should use my version if this is coming
from browser submitted data. Dan's presumes unix lines endings which
won't always be the case.

Cheers,
Rob.
-- 
..
| InterJinn Application Framework - http://www.interjinn.com |
::
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for   |
| creating re-usable components quickly and easily.  |
`'

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Daniel Brown
On Wed, Feb 27, 2008 at 5:08 PM, Robert Cummings [EMAIL PROTECTED] wrote:

  On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
   Thank you again Robert, and thank you too Daniel. I have gotten both 
 methods
   to work flawlessly so far :). I am slowly learning by trial and error here,
   but sometimes a little push in the right direction does some good ^_^.

  Nothing against Dan, but you should use my version if this is coming
  from browser submitted data. Dan's presumes unix lines endings which
  won't always be the case.

Agreed!

-- 
/Dan

Daniel P. Brown
Senior Unix Geek
? while(1) { $me = $mind--; sleep(86400); } ?

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



RE: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Andrés Robinet
 -Original Message-
 From: Robert Cummings [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, February 27, 2008 5:09 PM
 To: Keikonium
 Cc: php-general@lists.php.net
 Subject: Re: [PHP] Uppercase first letter of each new line?
 
 
 On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
  Thank you again Robert, and thank you too Daniel. I have gotten both
 methods
  to work flawlessly so far :). I am slowly learning by trial and error
 here,
  but sometimes a little push in the right direction does some good ^_^.
 
 Nothing against Dan, but you should use my version if this is coming
 from browser submitted data. Dan's presumes unix lines endings which
 won't always be the case.
 
 Cheers,
 Rob.
 --
 ..
 | InterJinn Application Framework - http://www.interjinn.com |
 ::
 | An application and templating framework for PHP. Boasting  |
 | a powerful, scalable system for accessing system services  |
 | such as forms, properties, sessions, and caches. InterJinn |
 | also provides an extremely flexible architecture for   |
 | creating re-usable components quickly and easily.  |
 `'
 
 --

Unless you only get line feeds (\r), this should work as well (for \n or
\r\n as line separators) 

$text = getTextFromSomewhereElse();
$newText = join(\n, array_map('ucfirst', explode(\n, $text)));

(fist thing that came to my mind, just posting because of that... use the regex
if you want to be safe)

Regards,

Rob(inet)


Andrés Robinet | Lead Developer | BESTPLACE CORPORATION 
5100 Bayview Drive 206, Royal Lauderdale Landings, Fort Lauderdale, FL 33308 |
TEL 954-607-4207 | FAX 954-337-2695 | 
Email: [EMAIL PROTECTED]  | MSN Chat: [EMAIL PROTECTED]  |  SKYPE: bestplace |
 Web: bestplace.biz  | Web: seo-diy.com

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Daniel Brown
On Wed, Feb 27, 2008 at 5:08 PM, Robert Cummings [EMAIL PROTECTED] wrote:

  On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
   Thank you again Robert, and thank you too Daniel. I have gotten both 
 methods
   to work flawlessly so far :). I am slowly learning by trial and error here,
   but sometimes a little push in the right direction does some good ^_^.

  Nothing against Dan, but you should use my version if this is coming
  from browser submitted data. Dan's presumes unix lines endings which
  won't always be the case.

Well, actually, my code will still split it properly (the \n is
still at the end), but the \r will become part of the string.  Then,
when it's modified and passed back with the \n appended, it is redone
as \r\n.

In any case, as I already said in a previous message, I still
agree.  Use Rob's code.

-- 
/Dan

Daniel P. Brown
Senior Unix Geek
? while(1) { $me = $mind--; sleep(86400); } ?

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread M. Sokolewicz

Daniel Brown wrote:

On Wed, Feb 27, 2008 at 5:08 PM, Robert Cummings [EMAIL PROTECTED] wrote:

 On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
  Thank you again Robert, and thank you too Daniel. I have gotten both methods
  to work flawlessly so far :). I am slowly learning by trial and error here,
  but sometimes a little push in the right direction does some good ^_^.

 Nothing against Dan, but you should use my version if this is coming
 from browser submitted data. Dan's presumes unix lines endings which
 won't always be the case.


Well, actually, my code will still split it properly (the \n is
still at the end), but the \r will become part of the string.  Then,
when it's modified and passed back with the \n appended, it is redone
as \r\n.

In any case, as I already said in a previous message, I still
agree.  Use Rob's code.

And what happens if someone uses a(n old) Mac? Where it's just \r (no \n 
at all) :)


- Tul

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



Re: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Daniel Brown
On Wed, Feb 27, 2008 at 6:05 PM, M. Sokolewicz [EMAIL PROTECTED] wrote:
  And what happens if someone uses a(n old) Mac? Where it's just \r (no \n
  at all) :)

A very good point!

Anyone who may be accessing the page and sending data from a
pre-OS9 system, an Apple IIe (or any Apple II), or a Commodore, should
be pushed through Rob's regexp without question.

And so I reiterate: agreed.  ;-P

-- 
/Dan

Daniel P. Brown
Senior Unix Geek
? while(1) { $me = $mind--; sleep(86400); } ?

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



RE: [PHP] Uppercase first letter of each new line?

2008-02-27 Thread Andrés Robinet
 -Original Message-
 From: M. Sokolewicz [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, February 27, 2008 6:06 PM
 To: Daniel Brown
 Cc: Robert Cummings; Keikonium; php-general@lists.php.net
 Subject: Re: [PHP] Uppercase first letter of each new line?
 
 Daniel Brown wrote:
  On Wed, Feb 27, 2008 at 5:08 PM, Robert Cummings [EMAIL PROTECTED]
 wrote:
   On Wed, 2008-02-27 at 16:38 -0500, Keikonium wrote:
Thank you again Robert, and thank you too Daniel. I have gotten both
 methods
to work flawlessly so far :). I am slowly learning by trial and error
 here,
but sometimes a little push in the right direction does some good
 ^_^.
 
   Nothing against Dan, but you should use my version if this is coming
   from browser submitted data. Dan's presumes unix lines endings which
   won't always be the case.
 
  Well, actually, my code will still split it properly (the \n is
  still at the end), but the \r will become part of the string.  Then,
  when it's modified and passed back with the \n appended, it is redone
  as \r\n.
 
  In any case, as I already said in a previous message, I still
  agree.  Use Rob's code.
 
 And what happens if someone uses a(n old) Mac? Where it's just \r (no \n
 at all) :)
 
 - Tul

I must declare myself ignorant on this issue, but if you are telling us that
only an old Mac will send you line feeds alone... I'd say you have more browser
related problems than just new lines.

We don't target IE 4 anymore do we? (I don't even target IE 5, it's not worth
the pain).

Again, my experience with the Mac world is nearly zero. I don't know which
specific OS+Browser would cause the issue, but if it is only an old Mac with an
old browser... well, I wouldn't care, as I don't care if a visitor with Windows
98+IE5 can't handle CSS and/or Javascript properly.

You have to set a limit somewhere (otherwise, why don't we use HTML 3.2 and
that's it?). Mine is at IE 6+ and latest FF/Opera/Safari. For the webs I
develop, that's more than enough (it covers more than 90% of the market).

Anyway... I'm just blind ignorant of what is the specific Mac OS and browser
that can cause you trouble with line feeds (maybe all of them has this behavior,
I repeat, I don't know).

Regards,

Rob(inet)

Andrés Robinet | Lead Developer | BESTPLACE CORPORATION 
5100 Bayview Drive 206, Royal Lauderdale Landings, Fort Lauderdale, FL 33308 |
TEL 954-607-4207 | FAX 954-337-2695 | 
Email: [EMAIL PROTECTED]  | MSN Chat: [EMAIL PROTECTED]  |  SKYPE: bestplace |
 Web: bestplace.biz  | Web: seo-diy.com


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