- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Приветствую. В кратце объясню суть проблемы.
Есть файл шаблона. Скрипт открывает его и содержимое заносит в переменную, на основе полученных POST-данных произвожу замена вида
str_replace($array1, $tmp_array1, $data);
где $tmp_array1 - массив полученный преобразованием строки в массив.
Скрипт работает прекрасно, но для 2-х фрагментов шаблона почему-то при замене русских символов после замены наблюдаю подобную картину http://SSMaker.ru/a7b03436/
Вместо символов знаки вида xYY
Если заменять не посимвольно, а целой строкой полученных данных - то все прекрасно заменяется, а вот разбив стрку на массив получаю такую белиберду.
P.S. В одном файле проблема только с 2-мя фрагментами и они идентичны остальным, которые прекрасно работают. Все файлы в UTF-8.
Символы замены нужно кодировать в UTF-8. Также смотреть какие символы таким образом заменяются и сравнить их байты.
Разобрался. В массив символ кириллицы заносился в 2 элемента массива.
Преобразовал строку в массив функцией preg_split и все стало как нужно.
, а это как преобразовывали?
, а это как преобразовывали?
Наверное через str_split. Автор видимо забыл что это однобайтовая функция.
Наверное через str_split. Автор видимо забыл что это однобайтовая функция.
А... он по символам резал. А я что-то представил explode и думаю, как же так умудрился то 🍿
Наверное через str_split. Автор видимо забыл что это однобайтовая функция.
Нет, просто обращался к стоке как к массиву
$str = 'Строка';
должно вывести 4-й символ
echo $str[3]; // о
Раньше использовал такой метод - сегодня не прошло))
Нет, просто обращался к стоке как к массиву
Те же грабли /ru/forum/876967
Вам же один раз говорили, что эти функции и конструкции используют для смещения один байт, тогда как UTF-8 это многобайтовая кодировка. Вынужден констатировать что вы так ничего и не усвоили и прошлой темы.