- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Гр-не, почему, ежели посчитать количество латинских символов в строке, переданной через GET с помощью strlen(), то выдается ожидаемый результат, а если количество кириллических символов через urldecode(strlen()), то не_ожидаемый, а тот же, что и без urldecode?
И как эти самые символы тогда посчитать верно?
Гр-не, почему, ежели посчитать количество латинских символов в строке, переданной через GET с помощью strlen(), то выдается ожидаемый результат, а если количество кириллических символов через urldecode(strlen()), то не_ожидаемый, а тот же, что и без urldecode?
И как эти самые символы тогда посчитать верно?
Потому что strlen(urldecode($string)), а не urldecode(strlen($string)).
strlen(urldecode())
Нет, это я просто здесь, в теме форума опечатался. А в оригинале сначала urldecode($str), а потом вообще отдельной строкой strlen($str1)...
Нет, это я просто здесь, в теме форума опечатался. А в оригинале сначала urldecode($str), а потом вообще отдельной строкой strlen($str1)...
Приведите весь код.
urldecode не принимает ссылку на переменную.
Т. е. надо
$str=urldecode($str);
$length=strlen($str);
$SearchValue = mysql_escape_string(trim(urldecode($_GET['search'])));
echo strlen($SearchValue);
$SearchValue = mysql_escape_string(trim(urldecode($_GET['search'])));
echo strlen($SearchValue);
Ну правильно. Вы считаете длину строки, в которой все спец. для SQL символы экранированы слэшем. Т. е. прибавьте к длине строки еще количество спец. символов.
$SearchValue = mysql_escape_string($_GET["search"]=trim($_GET['search']));
echo strlen($_GET["search"]);
Т. е. у вас строка
будет преобразована в
и вместо 13 символов (включая пробелы спереди и сзади) у вас будет 12 символов (пробелы убраны, слэш экранирован слэшем). Это как пример.
$SearchValue = urldecode($_GET['search']);
echo strlen($SearchValue);
Выводит 4 для запроса из 2 символов... Брр...
Asar,
strlen не предназначен для работы с не-ANSI шрифтами (однобайтные символы).
с ЮТФ кодировкой пользуйтесь функциями из библиотеки mb_strings
urldecode не нужен скорее всего вообще. разве что вы передаёте энкодированый текст.
dkameleon, Да, и правда, выход нашелся в варианте echo mb_strlen($SearchValue, 'UTF-8');
Большое спасибо за наводку.
не-ANSI шрифтами
Это здесь при чем?
Есть ASCII charset набор знаков,
и много других 8 bit наборов знаков,
ANSI и шрифты из другой темы, ...