Last Updated: February 25, 2016
·
449
· maumagau

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'

Have a fresh tip? Share with Coderwall community!

Post
Post a tip
Related Tags
#php
#strings
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