[ci skip] Don't use output buffering in URL helper safe_mailto()
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index a9790e5..5f11a42 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -342,23 +342,24 @@
 		$x[] = '<'; $x[] = '/'; $x[] = 'a'; $x[] = '>';
 
 		$x = array_reverse($x);
-		ob_start();
 
-	?><script type="text/javascript">
-	//<![CDATA[
-	var l=new Array();
-	<?php
-	for ($i = 0, $c = count($x); $i < $c; $i++) { ?>l[<?php echo $i; ?>]='<?php echo $x[$i]; ?>';<?php } ?>
+		$output = "<script type=\"text/javascript\">\n"
+			."\t//<![CDATA[\n"
+			."\tvar l=new Array();\n";
 
-	for (var i = l.length-1; i >= 0; i=i-1){
-	if (l[i].substring(0, 1) === '|') document.write("&#"+unescape(l[i].substring(1))+";");
-	else document.write(unescape(l[i]));}
-	//]]>
-	</script><?php
+		for ($i = 0, $c = count($x); $i < $c; $i++)
+		{
+			$output .= "\tl[".$i."] = '".$x[$i]."';\n";
+		}
 
-		$buffer = ob_get_contents();
-		ob_end_clean();
-		return $buffer;
+		$output .= "\n\tfor (var i = l.length-1; i >= 0; i=i-1) {\n"
+			."\t\tif (l[i].substring(0, 1) === '|') document.write(\"&#\"+unescape(l[i].substring(1))+\";\");\n"
+			."\t\telse document.write(unescape(l[i]));\n"
+			."\t}\n"
+			."\t//]]>\n"
+			.'</script>';
+
+		return $output;
 	}
 }