Re: Replacing 2 strings
| From: | W Luke | Date: | Mon, 30 May 2005 18:55:08 +0000 |
| Subject: | Re: Replacing 2 strings | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-216002@lists.php.net to get a copy of this message | ||
On 30/05/05, Brian V Bonini <b-bonini@cox.net> wrote:
> On Mon, 2005-05-30 at 11:13, Murray @ PlanetThoughtful wrote:
> > > Someone much more clever that I can probably come up with something much
> > > cleaner and efficient but.... This works...
> >
> > Definitely not more clever and arguably not more efficient, but a different
> > way of handling this might be:
> >
> > <?
> >
> > function replace($string){
> > $string = preg_replace("/(<|\^|>)/", "",$string);
> > $string = str_replace("_", " ", $string);
> > $string = ucwords(strtolower($string));
> > $string = str_replace(" ", "-", $string);
> > return $string;
> > }
> >
> > echo replace("<^JIM_JONES>");
> >
> > ?>
>
> AHHH! ucwords(); I probably looked right at it a million times.. I knew
> there had to be something to do that....
This is a great help, thanks to both. One question I have though.
How do I just leave the formatting "as is"? In the loop you gave me,
Brian...:
foreach($pieces as $char) {
$first_letter[] = $char{0};
$remainder[] = strtolower(substr($char, 1));
}
$result = array_merge($first_letter, $remainder);
list($frstltr,$lstltr,$frstwrd,$lstwrd) = $result;
$string = $frstltr . $frstwrd . " v " . $lstltr . $lstwrd;
return $string;
}
I can't see how I can disregard strtolower without disrupting the rest
of the function! My problem is $string contains a whole load of text,
the formatting of which needs to be retained...
--
Will The Corridor of Uncertainty http://www.cricket.mailliw.com/
- Sanity is a madness put to good use -