Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
Просто интересуюсь.
42 / 42 / 9
Регистрация: 19.10.2011
Сообщений: 247
1

Каждый символ строки обернуть тегом span. Проблемы с кодировкой

23.12.2014, 08:02. Показов 3785. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Задача:
дана строка (предложение) с пробелами знаками препинания и т.д. и т.п.
нужно каждый символ этой строки обернуть тэгом
HTML5
1
<span></span>
Мое решение:
прогоняю строку в цикле и каждый элемент массива оборачиваю в данный тэг
Проблема:
при выводе результирующей строки в html код, вместо кириллических символов отображаются знаки вопросов в черных ромбиках, цифры все ок отображаются...
Кодировка страницы utf-8 даже в .htaccess принудительную кодировку utf-8 пробовал через iconv, но результат тот-же...
вот сама функция:
PHP
1
2
3
4
5
6
7
8
9
10
11
public static function getList($param) {
 
        $str = '';
        
        for ($j = 0; $j < strlen($param); $j++) {
 
                $str .= '<span>' . $param[$j] . '</span>';
        }
        
        return $str;
    }
подскажите по какой причине так происходит?
Заранее спасибо

Добавлено через 34 минуты
Причем когда убираю оборачивание тэгами то символы выводятся нормально...

Добавлено через 44 минуты
Вопрос закрыт решил таким образом
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static function getList($param) {
 
        $str = '';
        
        $param = mb_convert_encoding($param, 'ISO-8859-5', 'UTF-8');
 
        for ($j = 0; $j < strlen($param); $j++) {
 
                $string = mb_convert_encoding($param[$j], 'UTF-8', 'ISO-8859-5');
 
                $str .= '<span>' . $string . '</span>';
        }
        
        return $str;
    }
Т.е. вся проблема была в кол-ве байтов, пришлось сначала закодировать строку, а потом каждый символ раскодировать.
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2014, 08:02
Ответы с готовыми решениями:

Обернуть часть кода тегом noindex
нужно обернуть часть кода тегом &lt;!--noindex--&gt; делаю $('iframe').wrap('&lt;!--noindex--&gt;...

Обернуть значения в span
Всем привет. Есть такая строка в массиве: 3 =&gt; &quot;&quot;&quot; * HTTP/1.1 200 OK\r\n ...

Каждый символ строки заменить на следующий за ним, а последний символ строки заменяеть первым
я написал код но не могу разобраться. вот дано :...

Каждое слово обрамить тегом span
Добрый вечер, У меня есть тестовая строка и мне нужно каждое слово обрамить &lt;span&gt; тегом. Этот...

1
Software Engineer
289 / 252 / 53
Регистрация: 23.09.2014
Сообщений: 859
23.12.2014, 08:56 2
Imitator,

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
public static function getList($param)
{
    $result = '';
 
    //Имитируем str_split() для utf-8
    preg_match_all('#.{1}#uis', $param, $out);
 
    foreach ($out[0] as $char) {
        $result .= '<span>' . $char . '</span>';
    }
 
    return $result;
}
1
23.12.2014, 08:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2014, 08:56
Помогаю со студенческими работами здесь

Обернуть каждое слово в тексте в тег <span>
Вот код страницы которая загружает файлы : &lt;?php header(&quot;Content-Type: text/html;...

Строка: каждый символ строки S заменяются на следующий за ним символ в строке S...
Дано: в текстовом файле fin.txt находится текст на русском языке. С клавиатуры вводится число К....

Заменить каждый третий символ строки на латинский символ X
3. Написать программу, которая копирует данные из одного файла в другой, но при этом меняет каждый...

Машина Тьюринга. Заменить каждый четвертый символ на символ «/» (отсчет символов начинается с правого края строки)
На информационной ленте машины Тьюринга содержится непрерывная последовательность символов «|»....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru