Мета-тег (keywords)

Started by ExPlayer on 2015-01-13 14:29 — 35 replies, 5666 views

#21
strlen не любит кириллицу. Так что mb_strlen()
о_О mb_strlen используют с расчетом кодировки символов, пример string mb_strlen (string str [, string encoding]), в тоже время как int strlen ( string string )
проще говоря вы можете указать кодировку

напридумают же
#22
проще говоря вы можете указать кодировку
Указал:
... if (mb_strlen($word, 'UTF-8') > 2)...
Результат тот же:
<meta name="keywords" content="Wick, �����й, ��он, HDRip, John, 2014, �в�к, ��к" />
#23
Указал:
... if (mb_strlen($word, 'UTF-8') > 2)...
Результат тот же:
<meta name="keywords" content="Wick, �����й, ��он, HDRip, John, 2014, �в�к, ��к" />
Да хватит городить велосипеды. Вчера не удалось выложить, так как переписываю на зенд.
#24
Да хватит городить велосипеды. Вчера не удалось выложить, так как переписываю на зенд.
Хорошо. Подожду, пока Вы выложите 🙂
#25
<meta name="keywords" content="Wick, �����й, ��он, HDRip, John, 2014, �в�к, ��к" />
Тут проблема в preg_replace, он тоже не дружит с кириллицей. Даже флаги ui не помогают. Вот такое тоже не катит А-ЯёЁ. У меня заработало только после явного указания всех русских букв в регулярке.
$keywords[]  = preg_replace("#([^-A-Za-zйцукенгшщзхъфывапролджэячсмитьбюйЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёЁ_!\s\.]*)#i", '', $word);

page_header.tpl должен быть сохранен в utf8 без бом

Знаю, будете сапогами кидаться, но для меня единственный рабочий вариант
#26
он тоже не дружит с кириллицей.
никто не дружит с кириллицой 😢

Жаль конечно, что пришлось указывать все русские буквы. Но по крайне мере работает 🙂
#27
А-ЯёЁ
Наверное потому что должно быть а-яА-ЯЁё, а вообще можно кодами этих символов заменить
page_header.tpl должен быть сохранен в utf8 без бом
Я больше скажу изначально все файлы движка должны быть так сохранены
#28
Наверное потому что должно быть а-яА-ЯЁё, а вообще можно кодами этих символов заменить

<?php

$name="trlen не любит кириллицу. Так что mb_strlen() и не помешает $word=preg_replace('![^\w\d\s]*!ui','',$word); Ну я код писал не проверяя) Отладка то 80% времени как раз и занимает)";

$name1 = preg_replace("#([^-0-9a-zа-яё_!'&\$@%\s\*\.]*)#i", '', $name);
$name2 = preg_replace("#([^-0-9A-Za-zа-яА-ЯёЁ_!'&\$@%\s\*\.]*)#i", '', $name);
$name3 = preg_replace("#([^-0-9A-Za-zа-яА-ЯёЁ_!'&\$@%\s\*\.]*)#ui", '', $name);
$name4 = preg_replace("#([^-0-9A-Za-zа-ЯёЁ_!'&\$@%\s\*\.]*)#i", '', $name);
$name5 = preg_replace("#([^-A-Za-zйцукенгшщзхъфывапролджэячсмитьбюйЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮёЁ_!\s\.]*)#i", '', $name);


header('Content-Type: text/html; charset=utf-8');
echo $name1."<hr>";
echo $name2."<hr>";
echo $name3."<hr>";
echo $name4."<hr>";
echo $name5."<hr>";

Тогда наверно пришлите мне результат вывода
#29
@ler что за перечисление такое? /[^A-ZА-ЯЁ0-9]+/ui не хватает разве?
#30
Тогда наверно пришлите мне результат вывода
1.webp
Конкретно модификатор i не дружит с кириллицой. Изначально, самый первый вариант предложенный работает как и полагается. Зато забавные варианты модификатор регистронезависимости указываем, а диапазоны пишем и для верхнего регистра и для нижнего, это конечно повеселило