Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.128.197.164] |
|
Сообщ.
#1
,
|
|
|
1. Не совсем понятно, при чём тут кавычки в запросах, если речь идёт не об этом.
2. Попробуй вызови 500 раз функцию htmlspecialchars и то, что предложено выше (str_replace) (хотя я не совсем понял к чему это было написано). Ради того, чтобы заменить кавычки, хватит и str_replace. Сравнил, htmlspecialchars - ~0.026 сек, str_replace - 0.0011 сек. Проверял строку 'some data"new data"'. Как видишь, разница очевидна. Эта тема была разделена из темы "echo в <input ... value .... >" |
Сообщ.
#2
,
|
|
|
Цитата Крост @ мдя. http://phpfaq.ru/slashes#inputНе совсем понятно, при чём тут кавычки в запросах, если речь идёт не об этом. и нахрена htmlspecialchars вызывать 500 раз? |
Сообщ.
#3
,
|
|
|
Тест производительности.
кстати, тогда уж не а str_replace( array('"',"'"), array('"','´') , $str ) |
Сообщ.
#4
,
|
|
|
Цитата Крост @ Жжошь. Попробуй расскажи мне о практической задаче, где это нужно и позволяет сэкономить 50% ресурсов. Попробуй вызови 500 раз функцию htmlspecialchars и то, что предложено выше Добавлено Ну или хотя бы 1%... http://rsdn.ru/article/philosophy/Optimization.xml |
Сообщ.
#5
,
|
|
|
раз уж вынесли в отдельную тему...
$temp = 'some data "new data"'; $time_before = time() + microtime(); for($i = 0; $i < 500; $i ++) { $temp = htmlspecialchars($temp); } printf("%10.10f<br>", time() + microtime() - $time_before); $temp = 'some data "new data"'; $time_before = time() + microtime(); $arr = array('"', "'"); $arr1 = array('"','´'); for($i = 0; $i < 500; $i ++) { $temp = str_replace($arr,$arr1,$temp); } printf("%10.10f<br>", time() + microtime() - $time_before); $temp = 'some data "new data"'; $time_before = time() + microtime(); for($i = 0; $i < 500; $i ++) { $str = htmlspecialchars($temp); } printf("%10.10f<br>", time() + microtime() - $time_before); $temp = 'some data "new data"'; $time_before = time() + microtime(); $arr = array('"', "'"); $arr1 = array('"','´'); for($i = 0; $i < 500; $i ++) { $str = str_replace($arr,$arr1,$temp); } printf("%10.10f<br>", time() + microtime() - $time_before); правда, если учитывать кодировку ($str = htmlspecialchars($temp, ENT_COMPAT, 'cp1251'); ), то получаем 0.0061669350 0.0022580624 справедливости ради, надо заметить, что замена str_replace('"','"',$str); на str_replace( array('"',"'"), array('"','´') , $str ) замедляет раза в 2-3 вопрос: какой из вариантов следует использовать в реальной практике? зы: ага, заняться было нечем =) ззы: php-4.4.4 |
Сообщ.
#6
,
|
|
|
Вот блин... разделили в отдельную тему, даже не спросив)))
Так... ладно, я смотрю в обеих случаях был неправ)))) В след. раз буду думать перед тем как по умничать Немного повисим здесь, а потом поедем в корзину или холивары... я думаю можно в козину)) |
Сообщ.
#7
,
|
|
|
Цитата negram @ Забить на эти тесты в реальной практике. См. ссылку. вопрос: какой из вариантов следует использовать в реальной практике? |