cvs: smarty / NEWS /libs/plugins modifier.capitalize.php
[email protected] ("boots") Wed, 14 Jun 2006 14:14:23 -0000
| Newsgroups | php.smarty.cvs |
|---|---|
| Message-ID | <cvsboots1150294463@cvsserver> |
boots Wed Jun 14 14:14:23 2006 UTC
Modified files:
/smarty NEWS
/smarty/libs/plugins modifier.capitalize.php
Log:
Fix handling of apostrophes in the capitalize modifier.
Thanks to asmecher from the forums for reporting this and providing a partial solution.
http://cvs.php.net/viewcvs.cgi/smarty/NEWS?r1=1.532&r2=1.533&diff_format=u
Index: smarty/NEWS
diff -u smarty/NEWS:1.532 smarty/NEWS:1.533
--- smarty/NEWS:1.532 Sun May 28 17:35:05 2006
+++ smarty/NEWS Wed Jun 14 14:14:23 2006
@@ -1,3 +1,5 @@
+- fix handling of apostrophes in capitalize modifier (Alec Smecher, boots)
+
Version 2.6.14 (May 28th, 2006)
-------------------------------
- fix compiler bug allowing php tags in secure templates
http://cvs.php.net/viewcvs.cgi/smarty/libs/plugins/modifier.capitalize.php?r1=1.8&r2=1.9&diff_format=u
Index: smarty/libs/plugins/modifier.capitalize.php
diff -u smarty/libs/plugins/modifier.capitalize.php:1.8 smarty/libs/plugins/modifier.capitalize.php:1.9
--- smarty/libs/plugins/modifier.capitalize.php:1.8 Tue Oct 11 16:22:56 2005
+++ smarty/libs/plugins/modifier.capitalize.php Wed Jun 14 14:14:23 2006
@@ -21,7 +21,7 @@
function smarty_modifier_capitalize($string, $uc_digits = false)
{
smarty_modifier_capitalize_ucfirst(null, $uc_digits);
- return preg_replace_callback('!\b\w+\b!', 'smarty_modifier_capitalize_ucfirst', $string);
+ return preg_replace_callback('!\'?\b\w(\w|\')*\b!', 'smarty_modifier_capitalize_ucfirst', $string);
}
function smarty_modifier_capitalize_ucfirst($string, $uc_digits = null)
@@ -33,7 +33,7 @@
return;
}
- if(!preg_match('!\d!',$string[0]) || $_uc_digits)
+ if(substr($string[0],0,1) != "'" && !preg_match("!\d!",$string[0]) || $_uc_digits)
return ucfirst($string[0]);
else
return $string[0];