On Thu, 2002-06-06 at 20:20, Justin French wrote: > Hi, > > How would I determine if there was a high % (say > 40%) of capital letters > in a string? I'm trying to think of a way of preventing endless use of > capital letters in a message board, to stop YELLERS. > > Justin French > -------------------- > Creative Director > http://Indent.com.au > --------------------
One I wrote last year sometime: <?php error_reporting(E_ALL); $strings = array('This is a test with only one cap.', 'This One Has Some More', 'AND THIS ONE IS SHOUTING'); function get_caps_pct($string) { $string = preg_replace('/[^a-z]/i', '', $string); $non_caps = strlen(preg_replace('/[^A-Z]/', '', $string)); $caps = strlen(preg_replace('/[A-Z]/', '', $string)); return $caps ? ($non_caps / $caps) * 100 : 100; } foreach ($strings as $string) { $pct = (int) get_caps_pct($string); echo "Percentage of characters which are CAPITALS: $pct%\n"; } ?> Output: Percentage of characters which are CAPITALS: 4% Percentage of characters which are CAPITALS: 38% Percentage of characters which are CAPITALS: 100% Cheers, Torben -- Torben Wilson <[EMAIL PROTECTED]> http://www.thebuttlesschaps.com http://www.hybrid17.com http://www.inflatableeye.com +1.604.709.0506 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php