| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Отбьютифаить код |
| Автор: champion 25.10.2011, 08:55 | ||
Такой код
Можно ли как-то переписать его красивее? |
| Автор: ksnk 25.10.2011, 09:35 | ||
| Если от реферера требуется только хост, то не имеет большого смысла делать ему addslashes. Вероятно, проще будет выковырять хост с помощью регулярки, так как кроме http бывают еще и https.
примерно такой... |
| Автор: patap 25.10.2011, 09:41 |
| вот еще интересная функция http://php.net/manual/ru/function.parse-url.php есть, тоже может быть уместной |
| Автор: ksnk 25.10.2011, 10:41 |
В этом случае работает и так, хотя preg_quote ':' слешит. Не удивительно. Однако parse_url не корректно работает с адресами без http:// , так что в процедуру вычисления скорости нужно включить еще механизм "дописывания" протокола к неполному урлу |
| Автор: champion 25.10.2011, 11:46 |
| Так и сделал. Тем не менее быстрее чем preg_replace. |
| Автор: Absinthe 25.10.2011, 13:42 | ||||||
Все нормально. |
| Автор: bars80080 25.10.2011, 13:54 | ||||||||
а хост где?
|
| Автор: Absinthe 25.10.2011, 17:27 |
| bars80080, ну все правильно же, разве нет? site.com/1/2?p=3#4 - это то же самое, что и current-scheme://current-host/site.com/1/2?p=3#4 |
| Автор: ksnk 25.10.2011, 18:23 |
| Absinthe, parse_url работает ПРАВИЛЬНО с точки зрения структуры url, но не КОРРЕКТНО с точки зрения решаемой задачи. Простой юзер, когда видит в тексте строчку site.com/1/2 искренне верит, что она ведет на site.com, а совсем даже не на current-host. А юзеров обманывать нельзя |
| Автор: bars80080 25.10.2011, 18:52 |
| именно, с точки зрения чоловека не правильно. потому и приходится делать ручной (чоловеческий) разбор. |
| Автор: Absinthe 25.10.2011, 18:55 | ||||
|
| Автор: ksnk 25.10.2011, 19:12 | ||
Возможно, окажется полезно посмотреть таки на задачу, решаемую топикстартером, и потом уже делать выводы? |
| Автор: bars80080 25.10.2011, 19:14 | ||
ай-яй-яй, зачем же вот так просто и переход на личности. быть злым - очень плохо, можно невзначай умереть. и здесь я совершенно не шучу, видел одного человека, которого съела злоба через неопределённое врачами заболевание. даже если показалось что-то плохое в словах собеседника - надо стараться выглядывать хорошее а вот там я немного пошутил, указывая, что под специфическую задачу приходится собирать своё решение. причём специфика задачи происходит от самого человека. не желал бы - и обошёлся бы стандартными средствами и я знаю, что есть URL |
| Автор: Absinthe 25.10.2011, 19:27 | ||||
|
| Автор: ksnk 25.10.2011, 20:01 | ||||
А я сказал что-то другое? |
| Автор: bars80080 25.10.2011, 22:21 | ||||
с человеческой - да, а вот с точки зрения чоловека (в смысле, мужика), нет
или вы подумали, что я такой неграмотный, что ошибки в простейших словах делаю? |
| Автор: MoLeX 26.10.2011, 06:01 |
| Модератор: Давайте вернёмся к теме обсуждения. |