Описание

Функция генерирует из строки валидное имя для папки или файла. Переводит строку на английский, обращаясь к translate.google.com, приводит ее в нижний регистр и заменяет все лишнее на символ подчеркивания.

При импорте данных в структуру разделов одного проекта я таким образом генерировал адрес раздела из его заголовка.

Синтаксис

mixed get_folder_by_title(string $_title, string $_title_lang = 'ru');
Параметр Описание
$_title Строка для генерации.
$_title_lang Языковое обозначение строки для генерации. По умолчанию равно ’ru’.

Листинг

function get_folder_by_title($_title, $_title_lang = 'ru') {
	
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='
		. urlencode($_title) . '&langpair=' . urlencode($_title_lang . '|en'));
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_REFERER, 'http://www.sinacos.com');
	$result = curl_exec($ch);
	curl_close($ch);
	
	$json = json_decode($result, true);
	
	if ($json['responseStatus'] == 200 && isset($json['responseData']['translatedText'])){
		$folder = strtolower($json['responseData']['translatedText']);
		$folder = preg_replace('/[^a-zA-Z0-9_]+/', '_', $folder);
		
		return $folder;
	}

	return false;
}