Improve html, inflector & language helpers
diff --git a/system/helpers/html_helper.php b/system/helpers/html_helper.php
index 2a603a6..72970d9 100644
--- a/system/helpers/html_helper.php
+++ b/system/helpers/html_helper.php
@@ -1,13 +1,13 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
  * An open source application development framework for PHP 5.1.6 or newer
  *
  * NOTICE OF LICENSE
- * 
+ *
  * Licensed under the Open Software License version 3.0
- * 
+ *
  * This source file is subject to the Open Software License (OSL 3.0) that is
  * bundled with this package in the files license.txt / license.rst.  It is
  * also available through the world wide web at this URL:
@@ -54,8 +54,7 @@
 {
 	function heading($data = '', $h = '1', $attributes = '')
 	{
-		$attributes = ($attributes != '') ? ' '.$attributes : $attributes;
-		return "<h".$h.$attributes.">".$data."</h".$h.">";
+		return '<h'.$h.($attributes != '' ? ' ' : '').$attributes.'>'.$data.'</h'.$h.'>';
 	}
 }
 
@@ -124,7 +123,7 @@
 		}
 
 		// Set the indentation based on the depth
-		$out = str_repeat(" ", $depth);
+		$out = str_repeat(' ', $depth);
 
 		// Were any attributes submitted?  If so generate a string
 		if (is_array($attributes))
@@ -142,7 +141,7 @@
 		}
 
 		// Write the opening list tag
-		$out .= "<".$type.$attributes.">\n";
+		$out .= '<'.$type.$attributes.">\n";
 
 		// Cycle through the list elements.  If an array is
 		// encountered we will recursively call _list()
@@ -152,8 +151,7 @@
 		{
 			$_last_list_item = $key;
 
-			$out .= str_repeat(" ", $depth + 2);
-			$out .= "<li>";
+			$out .= str_repeat(' ', $depth + 2).'<li>';
 
 			if ( ! is_array($val))
 			{
@@ -161,21 +159,14 @@
 			}
 			else
 			{
-				$out .= $_last_list_item."\n";
-				$out .= _list($type, $val, '', $depth + 4);
-				$out .= str_repeat(" ", $depth + 2);
+				$out .= $_last_list_item."\n"._list($type, $val, '', $depth + 4).str_repeat(' ', $depth + 2);
 			}
 
 			$out .= "</li>\n";
 		}
 
-		// Set the indentation for the closing tag
-		$out .= str_repeat(" ", $depth);
-
-		// Write the closing list tag
-		$out .= "</".$type.">\n";
-
-		return $out;
+		// Set the indentation for the closing tag and apply it
+		return $out.str_repeat(' ', $depth).'</'.$type.">\n";
 	}
 }
 
@@ -192,7 +183,7 @@
 {
 	function br($num = 1)
 	{
-		return str_repeat("<br />", $num);
+		return str_repeat('<br />', $num);
 	}
 }
 
@@ -224,10 +215,9 @@
 
 		$img = '<img';
 
-		foreach ($src as $k=>$v)
+		foreach ($src as $k => $v)
 		{
-
-			if ($k == 'src' AND strpos($v, '://') === FALSE)
+			if ($k === 'src' AND strpos($v, '://') === FALSE)
 			{
 				$CI =& get_instance();
 
@@ -246,9 +236,7 @@
 			}
 		}
 
-		$img .= '/>';
-
-		return $img;
+		return $img.'/>';
 	}
 }
 
@@ -290,14 +278,7 @@
 			}
 		}
 
-		if (isset($_doctypes[$type]))
-		{
-			return $_doctypes[$type];
-		}
-		else
-		{
-			return FALSE;
-		}
+		return (isset($_doctypes[$type])) ? $_doctypes[$type] : FALSE;
 	}
 }
 
@@ -322,14 +303,13 @@
 	function link_tag($href = '', $rel = 'stylesheet', $type = 'text/css', $title = '', $media = '', $index_page = FALSE)
 	{
 		$CI =& get_instance();
-
 		$link = '<link ';
 
 		if (is_array($href))
 		{
-			foreach ($href as $k=>$v)
+			foreach ($href as $k => $v)
 			{
-				if ($k == 'href' AND strpos($v, '://') === FALSE)
+				if ($k === 'href' AND strpos($v, '://') === FALSE)
 				{
 					if ($index_page === TRUE)
 					{
@@ -346,11 +326,11 @@
 				}
 			}
 
-			$link .= "/>";
+			$link .= '/>';
 		}
 		else
 		{
-			if ( strpos($href, '://') !== FALSE)
+			if (strpos($href, '://') !== FALSE)
 			{
 				$link .= 'href="'.$href.'" ';
 			}
@@ -365,21 +345,20 @@
 
 			$link .= 'rel="'.$rel.'" type="'.$type.'" ';
 
-			if ($media	!= '')
+			if ($media != '')
 			{
 				$link .= 'media="'.$media.'" ';
 			}
 
-			if ($title	!= '')
+			if ($title != '')
 			{
 				$link .= 'title="'.$title.'" ';
 			}
 
 			$link .= '/>';
 		}
-		$link .= "\n";
 
-		return $link;
+		return $link."\n";
 	}
 }
 
@@ -439,10 +418,9 @@
 {
 	function nbs($num = 1)
 	{
-		return str_repeat("&nbsp;", $num);
+		return str_repeat('&nbsp;', $num);
 	}
 }
 
-
 /* End of file html_helper.php */
-/* Location: ./system/helpers/html_helper.php */
\ No newline at end of file
+/* Location: ./system/helpers/html_helper.php */
diff --git a/system/helpers/inflector_helper.php b/system/helpers/inflector_helper.php
index f093dd9..0bd1e11 100644
--- a/system/helpers/inflector_helper.php
+++ b/system/helpers/inflector_helper.php
@@ -1,4 +1,4 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
@@ -85,16 +85,7 @@
 			'/([^u])s$/'			=> '\1',
 		);
 
-		foreach ($singular_rules as $rule => $replacement)
-		{
-			if (preg_match($rule, $result))
-			{
-				$result = preg_replace($rule, $replacement, $result);
-				break;
-			}
-		}
-
-		return $result;
+		return preg_replace(array_keys($singular_values), $singular_values, $result);
 	}
 }
 
@@ -138,16 +129,7 @@
 			'/$/'						=> 's',
 		);
 
-		foreach ($plural_rules as $rule => $replacement)
-		{
-			if (preg_match($rule, $result))
-			{
-				$result = preg_replace($rule, $replacement, $result);
-				break;
-			}
-		}
-
-		return $result;
+		return preg_replace(array_keys($plural_rules), $plural_rules, $result);
 	}
 }
 
@@ -166,9 +148,7 @@
 {
 	function camelize($str)
 	{
-		$str = 'x'.strtolower(trim($str));
-		$str = ucwords(preg_replace('/[\s_]+/', ' ', $str));
-		return substr(str_replace(' ', '', $str), 1);
+		return substr(str_replace(' ', '', ucwords(preg_replace('/[\s_]+/', ' ', $str))), 1);
 	}
 }
 
@@ -212,4 +192,4 @@
 }
 
 /* End of file inflector_helper.php */
-/* Location: ./system/helpers/inflector_helper.php */
\ No newline at end of file
+/* Location: ./system/helpers/inflector_helper.php */
diff --git a/system/helpers/language_helper.php b/system/helpers/language_helper.php
index ed17bfa..a83580a 100644
--- a/system/helpers/language_helper.php
+++ b/system/helpers/language_helper.php
@@ -1,13 +1,13 @@
-<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
+<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 /**
  * CodeIgniter
  *
  * An open source application development framework for PHP 5.1.6 or newer
  *
  * NOTICE OF LICENSE
- * 
+ *
  * Licensed under the Open Software License version 3.0
- * 
+ *
  * This source file is subject to the Open Software License (OSL 3.0) that is
  * bundled with this package in the files license.txt / license.rst.  It is
  * also available through the world wide web at this URL:
@@ -65,6 +65,5 @@
 	}
 }
 
-// ------------------------------------------------------------------------
 /* End of file language_helper.php */
-/* Location: ./system/helpers/language_helper.php */
\ No newline at end of file
+/* Location: ./system/helpers/language_helper.php */