Мета-тег (keywords)

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

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

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

Знаю, будете сапогами кидаться, но для меня единственный рабочий вариант
 
Last edited by a moderator:
он тоже не дружит с кириллицей.
никто не дружит с кириллицой :cry:

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

PHP:
<?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>";

Тогда наверно пришлите мне результат вывода
 
Тогда наверно пришлите мне результат вывода
1.webp
Конкретно модификатор i не дружит с кириллицой. Изначально, самый первый вариант предложенный работает как и полагается. Зато забавные варианты модификатор регистронезависимости указываем, а диапазоны пишем и для верхнего регистра и для нижнего, это конечно повеселило
 
Back
Top