Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Очистить строку от символов +%* и т.д.

Ответить
Настройки темы
[решено] Очистить строку от символов +%* и т.д.

Аватара для Artem-Samsung

Ветеран


Сообщения: 823
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Цель - создание ЧПУ.
В адресной строке мне нужно что бы были только буквы английского алфавита и подчеркивание.

для преобразования в английский алфавит русских заголовков я использую функцию, которую на этом же форуме мне любезно предоставили:

Код: Выделить весь код
function encodestring($st){
    $st=strtr($st,"абвгдеёзийклмнопрстуфхъыэ_", "abvgdeeziyklmnoprstufh'iei");
    $st=strtr($st,"АБВГДЕЁЗИЙКЛМНОПРСТУФХЪЫЭ_", "ABVGDEEZIYKLMNOPRSTUFH'IEI");
	$st=strtr($st, array(
		"ж"=>"zh", "ц"=>"ts", "ч"=>"ch", "ш"=>"sh", 
		"щ"=>"shch","ь"=>"", "ю"=>"yu", "я"=>"ya",
		"Ж"=>"ZH", "Ц"=>"TS", "Ч"=>"CH", "Ш"=>"SH", 
		"Щ"=>"SHCH","Ь"=>"", "Ю"=>"YU", "Я"=>"YA",
		"ї"=>"i", "Ї"=>"Yi", "є"=>"ie", "Є"=>"Ye"
	));		return $st;
}
А вот для очистки от лишних сиволов я делаю такое:

Код: Выделить весь код
function textclear ($t) {
	$t = ltrim($t);	$t = rtrim($t);
	$t = str_replace(" - ", "-", $t);	$t = str_replace(" ", "_", $t);
	$t = str_replace("`", "",$t);	$t = str_replace("’", "",$t);
	$t = str_replace("\"", "",$t);	$t = str_replace("\'", "",$t);
	$t = str_replace(",", "",$t);	$t = str_replace(".", "",$t);
	$t = str_replace("«", "",$t);	$t = str_replace("»", "",$t);
	$t = str_replace("+", "plus", $t);	$t = str_replace("%", "",$t);
	return $t;
}
Может есть какие то более толковые методы, потому что таким образом все символы не предусмотреть.
Спасибо

-------
Мой блог Web Development


Отправлено: 22:05, 05-02-2010

 
mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3906
Благодарности: 165

Профиль | Отправить PM | Цитировать


Так просто вычистить методом исключения: все, что НЕ нужное - превратив в '', например, через preg_replace. А нужное, это [a-zA-Z_]
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:33, 05-02-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Deadooshka


Сообщения: 2566
Благодарности: 698

Профиль | Отправить PM | Цитировать


Цитата Artem-Samsung:
А вот для очистки от лишних сиволов я делаю такое »
имхо этого достаточно
PHP код: Выделить весь код

$t preg_replace('~[^a-zA-Z0-9\_\-]+~''_'$t); 


Это сообщение посчитали полезным следующие участники:

Отправлено: 23:00, 05-02-2010 | #3



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Очистить строку от символов +%* и т.д.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] StringRegExpReplace - очистить строку при наличии контрольного слова asdf8 AutoIt 7 02-09-2009 16:53
Интерфейс - Нужен твик -убрать в проводнике "Избранные ссылки", адресную строку и строку поиска Mishechka Microsoft Windows Vista 18 16-09-2008 16:19
Ошибка - Обращение к таблице символов Irvinqw Microsoft Windows 2000/XP 6 26-06-2008 17:49
Не более 8 символов? 007G Вебмастеру 4 09-08-2004 23:45
Замена символов Guest Программирование и базы данных 13 20-03-2003 17:55




 
Переход