|
PHP: аналог htmlentities() для кириллицы
|
|||
---|---|---|---|
#18+
Надо конвертировать строку UTF8 а-ля htmlentities(), но только для русских букв: А -> А Б -> Б и т.д. Подскажите плиз функцию или regexp какой-нибудь! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 16:18 |
|
PHP: аналог htmlentities() для кириллицы
|
|||
---|---|---|---|
#18+
Сорри... Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 16:19 |
|
PHP: аналог htmlentities() для кириллицы
|
|||
---|---|---|---|
#18+
Сделал по-тупому. Надеюсь, можно проще/быстрее, чем это: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 16:49 |
|
PHP: аналог htmlentities() для кириллицы
|
|||
---|---|---|---|
#18+
x128, А исходные строки у тебя в какой кодировке? Если в 1251, то очевидно: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Если ж в UTF8, то для php каждая твоя русская буква - это два символа, как раз с теми кодами, которые ты собираешься получить. Т.е. надо проверить верхний байт в соответствии с правилами кодировки двухбайтовых кодов в UTF8, удалить из обоих байтов служебные биты и получить из оставшихся битов то самое число (1040, например). Но кто сказал, что этот визуально неочевидный код (по сравнению с твоим) будет работать быстрее (ведь это целый цикл строковых операций). Для 1251 можешь сравнить свой с приведенным выше по производительности (если не лень). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 17:37 |
|
PHP: аналог htmlentities() для кириллицы
|
|||
---|---|---|---|
#18+
В смысле, что в обоих случаях имеем цикл перебора строки посимвольно, который может оказаться медленнее твоего примера. Но на написание случая обработки UTF8 надо еще время потратить, а для 1251 - тривиально, потому можно и протестить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2012, 17:40 |
|
|
start [/forum/topic.php?fid=23&msg=37668567&tid=1460839]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 137ms |
0 / 0 |