У меня есть веб-сайт с системой управления контентом GetSimple, написанной на PHP. Я отредактировал как мне было нужно, однако в шапке вот что там должно быть:
<title><?php get_page_clean_title(); ?> - <?php get_site_name(); ?></title>
Проблема в том, что я чех, и мне приходится использовать специальные символы (á, é, í, ó, ú, ů, ě, š и т. д.), и если бы вы открыли мой сайт и увидели исходный код, вы бы увидели это:
<title>Tomáš Janeček - osobní web - Tom**áš** Janeček | Personal Website</title>
Вместо «Томаш Янечек - особенный веб-Том*аш* Янечек | Личный сайт». Что меня беспокоит, так это те объекты HTML, которые находятся только во второй части заголовка. означает «á» и означает «š». Я знаю, что это не должно повредить SEO, но я делаю это, чтобы код оставался ясным.
Есть ли способ расшифровать это или просто изменить get_site_name() на какую-то лучшую функцию, которая не будет иметь проблем с этими дополнительными символами? Мне не нужны сущности в моем коде. Я думаю, что не этот конкретный файл .php надо править, чтобы он был таким, как я хочу, однако, надеюсь, можно было решить как-то просто в этом файле. CMS включает в себя десятки файлов .php, и я не уверен, что мне искать. Я искал некоторый код с сущностями PHP в «подозрительных» файлах, но ничего не нашел, что мне помогло. Если вам это нужно, всю CMS можно скачать здесь
Заранее благодарны за Вашу помощь.
Редактировать1:// ------------------------------------------------------------- ----------------------------------------
Конечно, у меня эта мета включена.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
И нет, я не пользуюсь никакой базой данных. Это придет с изучением Joomla! :)
Я хочу подчеркнуть, что заголовок состоит из 2 частей — get_page_clean_title() и get_site_name(), обе они включают мое полное имя и только одна отображает его в исходном коде с объектами HTML.
Я нашел функции в другом файле:
ПЕРВЫЙ - это тот, который не помещает объекты HTML в исходный код - это то, что я хочу от второй функции ниже.
function get_page_clean_title($echo=true) {
global $title;
$myVar = strip_tags(strip_decode($title));
if ($echo) {
echo $myVar;
} else {
return $myVar;
}
}
Функция SECOND делает то, что должна делать, но выдает результат с объектами HTML, и в этом проблема.
function get_site_name($echo=true) {
global $SITENAME;
$myVar = trim(stripslashes($SITENAME));
if ($echo) {
echo $myVar;
} else {
return $myVar;
}
}
Обе указанные выше функции находятся в одном файле.
Я попытался заменить проблемную функцию на хорошо работающую с изменением имен переменных на правильные значения, однако она вообще перестала работать :/
Итак, в заключение, со всей страницей все в порядке, нет никаких HTML-сущностей, кроме одного места - второй половины заголовка с функцией get_site_name.
Кроме того, проблемы ТОЛЬКО в ИСХОДНОМ КОДЕ. Окончательное отображение в порядке.
Спасибо за ваши ответы до сих пор, я рад за такие быстрые и ценные ответы. Я это очень ценю.
get_site_name()
htmlentities
. - person jeroen   schedule 14.03.2013$SITENAME
и каково его значение? - person Ander2   schedule 14.03.2013