Codeigniter helper (példa ékezettelenítés)

A codeigniterbe írhatunk saját helpereket is. Ebben a fejezetben egy példát nézünk meg.

Az application/helpers mappába tehetjük őket. Nézzünk egy konkrét példát. Szeretnénk ékezetnélküli szöveget készíteni amiben nincs se nagybetű se szóköz.

AccentHelper.php:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
	
	/*
	* Ékezetes stringeket alakít ékezet nélküliekre és kisbetűsre
	* @param: $mit(string)
	* @return: $eredmeny(string)
	*/
	
	function ekezet_alakit($mit){
		$mire="_";

		$ekezet=array("(í|Í)","(á|Á)","(é|É)","(ö|Ö)","(ü|Ü)","(ó|Ó)","(ő|Ő)","(ú|Ú)","(ű|Ű)");
		$rep_reg=array("i","a","e","o","u","o","o","u","u");
		$mit = preg_quote($mit);
		$mit = preg_replace($ekezet,$rep_reg,$mit);

		$regexp="([^a-zA-Z0-9]+)";
		$eredmeny=strtolower(preg_replace($regexp,$mire,$mit));
		
		return $eredmeny;
	}
	
	/* end of file: application/helpers/accent_helper.php */
?>

Az ekezet_alakit($mit) függvény paramétertként kap egy stringet és azt alakítja át ékezetnélkülire, kisbetűsre, amiben szóköz helyett "_" van.

A controllerünkben/construktorunkban majd töltsük be a helpert: $this->load->helper('accent');
Majd ahol használni akarjuk csak hívjuk meg pl: $fields->url_title=ekezet_alakit($fields->title_hu); és máris átalakítottuk a stringünket.
2014.03.03.