preg_replace_callback альтернатива preg_replace

сейчас я использую

preg_replace('/[^a-zA-Z0-9]+/', '_', $str)

какой будет альтернативная функция, использующая preg_replace_callback?


person Shoaib Rehan    schedule 16.07.2015    source источник
comment
Почему вы хотите это сделать? Это вызовет только ненужный вызов функции, который вам здесь не нужен.   -  person Rizier123    schedule 16.07.2015
comment
Что вы пробовали? У вас уже есть большинство частей (особенно регулярное выражение), функция, которая возвращает '_', не должна быть слишком сложной для реализации - или нет?   -  person kero    schedule 16.07.2015
comment
Да, не могли бы вы сделать это для меня?   -  person Shoaib Rehan    schedule 16.07.2015


Ответы (1)


я сделал это сам

function url_title($mystr){
	$result = '';
	$result .= preg_replace_callback(
                '/[^a-zA-Z0-9]+/',
                function ($matches) { return '_'; }, 
                $mystr);
						
	return strtolower($result);
}

$mystr = "some string here";
echo url_title($mystr);

person Shoaib Rehan    schedule 16.07.2015