Format a string excluding text in brackets
$str = 'This [WILL] be fOrMatTed';
$matches = array();
$searches = array();
preg_match_all('(\[(.+?)\])', $str, $placeholders);
$lstr = strtolower($str);
foreach ($placeholders[0] as $mk => $match) {
$pos = $mk+1;
$matches[] = $match;
$searches[] = strtolower($match);
}
// Replace lower case with original case
$fstr = str_replace($searches,$matches,$lstr);
// Remove brackets
$fstr = str_replace(array('[',']'), '', $fstr);
echo $fstr // outputs 'this WILL be formatted'Written by Dave Townsend
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Php
Authors
Did you know?
PHP applications still send a browser full of JavaScript. Hardening the server does not inventory the payment, analytics, and plugin scripts that run after the HTML is delivered.
Security insights from Cside
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#