[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение 2х функций обрезания слешей у строки
olgatcpip
Здравствуйте.

Я тут работаю с чужим кодом. И вижу, что этот код писал любитель регулярок.
Но помню как тут, на этом форуме говорилось, что лучше обходить по возможности использование регулярных выражений.

И не удержалась воочию проверить.
Было так
function conv_trim_slashes($string){
$string = preg_replace("/^\/*/", '', $string);
$string = preg_replace("/\/*$/", '', $string);
return $string;
}

я переделала через substr
function conv_trim_slashes_simple($string){
while(substr($string,-1)=='/')
$string=substr($string, 0, -1); // удаляем последний символ

while(substr($string,0,1)=='/')
$string=substr($string, 1); // удаляем первый символ
return $string;
}

а через trim, по подсказке glock18, оказалось ещё быстрее
function conv_trim_slashes_trim($string){	
return trim($string,'/');
}


затем придумала строку, запустила обработать ее 1000 раз одной функцией, потом другой. Несколько раз обновила страницу. Ни разу регулярка по скорости не выиграла. Проверьте, если хотите.



Спустя 29 минут, 41 секунда (4.06.2010 - 14:24) ApuktaChehov написал(а):
Ну, так и есть. Регулярки медленная штука в PHP.
Думаю, что к этому делу стоит подходить с умом. Смотря где и в каких ситуациях использовать.

Слышал, что в шестой версии PHP их хотят на уровень ядра вывести, тогда все должно летать.

Спустя 4 минуты, 26 секунд (4.06.2010 - 14:28) glock18 написал(а):
хммммм, а кто вообще так слеши отсекает, я про оба варианта. trim и флаг в руки, и вперед. ну, как бы, насчет скорости - чем сложнее механизм, тем больше атомарных операций ему приходится делать для выполнения тех же задач => тем он медленнее.

Спустя 24 минуты, 54 секунды (4.06.2010 - 14:53) Nikitian написал(а):
Мне кажется или вариант на регулярках удаляет любое количество слешей в начале и конце, а на строковых функциях только по-одному? И вообще не легче ли и уж точно быстрее написать так: $string=trim($string,'/');

Спустя 25 минут, 52 секунды (4.06.2010 - 15:19) olgatcpip написал(а):
Nikitian нет не кажется, я исправилачуток функцию... результат тот же

Спустя 6 минут, 50 секунд (4.06.2010 - 15:26) olgatcpip написал(а):
glock18 ты прав на все 100. далеко мне до вас. Через trim ещё быстрее работает!


_____________
Ласковое слово и кошке приятно... Плюсик в карму сойдет wink.gif
*smarty дока - новая любовь
Моё рукотворение ругайте, хвалите smile.gif
Веду маленький блог
в этом блоге публикую новые работы
WMR217126627282 wink.gif

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.