BioSyntheticDesigns
11/15/2015 - 10:20 PM

Create WordPress like slugs from any string in php.

Create WordPress like slugs from any string in php.

<?php

    	/**
	*
	* Genrate Slugs from Title or any given string
	*
	* @param  string  $str
	* @return Slug
	*
	**/
	public function make_slug($str)
	{ 
		if($str !== mb_convert_encoding( mb_convert_encoding($str, 'UTF-32', 'UTF-8'), 'UTF-8', 'UTF-32') )
			$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
		$str = htmlentities($str, ENT_NOQUOTES, 'UTF-8');
		$str = preg_replace('`&([a-z]{1,2})(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i', '\\1', $str);
		$str = html_entity_decode($str, ENT_NOQUOTES, 'UTF-8');
		$str = preg_replace(array('`[^a-z0-9]`i','`[-]+`'), '-', $str);
		$str = strtolower( trim($str, '-') );
		$str = substr($str, 0, 100);
		return $str;
	}