[snip]
Well, you didn't answer the second question, how would you do
it? So
far I see a pattern: "ignore the lowercase letters at the beginnig and
add a space before an uppercase" (this won't apply to all field names,
and I hope you're aware of that), so try something like
$text = preg_replace('/^[a-z]+\s*/X', '',
preg_replace('/(?=[A-Z])/X', ' ', $name) );
Now, a better way, IMHO, would be to use "_" as spaces and write
the
name of the field as you want it to appear (e.g. "First_Name"), so you
just need to
$text = str_replace('_', ' ', $name);
--pretty much simplier, isn't?
And... if you want to add a prefix (such as "ps") then make it
configurable, so it can be changed anytime without effort.
Last comment: you should think about the question you didn't answer, and
that might give you the solution to your problem.
[/snip]
I was just headed in the wrong direction with preg_split(), and I had it
stuck in my head.
If I had delimiters, such as underscores, this question would have never
come up. I am not in a position to tell the designers that we need them
to change their naming conventions in forms at this unfortunately, so I
need to work with what we have as efficiently as possible.
Thank you for an elegant solution, but I am curious....why would it not
work with all field names if they were named using the conventions
(studly caps)? I can see a problem perhaps with a field named fooMyURL,
it would come out as My U R L. Do you feel as if there are any other
gotcha's?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php