PHP で記述されたコンテンツ管理システム GetSimple を使用した Web サイトを持っています。必要に応じて編集しましたが、ヘッダーには次のように記載されています。
<title><?php get_page_clean_title(); ?> - <?php get_site_name(); ?></title>
問題は、私がチェコ人であり、特殊文字 (á、é、í、ó、ú、ů、ě、š など) を使用する必要があることです。私の Web サイトを開いてソース コードを表示すると、次のように表示されます。
<title>Tomáš Janeček - osobní web - Tom**áš** Janeček | Personal Website</title>
「Tomáš Janeček - osobní web - Tom* áš * Janeček | Personal Website」の代わりに。私が気になっているのは、タイトルの 2 番目の部分にのみある HTML エンティティです。á は「á」を表し、š は「š」を表します。SEO に悪影響を与えないことはわかっていますが、コードを明確にするためにこれを行っています。
それをデコードする方法、または get_site_name() をこれらの余分な文字に問題のないより良い関数に変更する方法はありますか? コードにエンティティが必要ありません。私が望むように編集する必要があるのは、この具体的な .php ファイルではないと思いますが、このファイルで簡単に解決できることを願っています。CMS には数十の .php ファイルが含まれており、何を検索すればよいかわかりません。「疑わしい」ファイルで PHP エンティティを含むコードを探しましたが、役に立たないものは見つかりませんでした。必要な場合は、CMS 全体をここからダウンロードできます。
事前にご協力いただきありがとうございます。
Edit1:// -------------------------------------------------- --------------------------------------------
もちろん、このメタも含まれています。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
いいえ、データベースは使用しません。それはJoomlaを勉強することで得られます!:)
タイトルには get_page_clean_title() と get_site_name() の 2 つの部分があることを強調したいと思います。どちらにも私の名前全体が含まれており、HTML エンティティを含むソース コードに表示されるのは 1 つだけです。
別のファイルで関数を見つけました:
1 つ目は、ソース コードに HTML エンティティを配置しないものです。これは、2 つ目の関数の下に必要なものです。
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;
}
}
上記の関数は両方とも同じファイルにあります。
問題のある関数を、変数名を正しい値に変更することでうまく機能する関数に置き換えようとしましたが、まったく機能しなくなりました:/
結論として、ページ全体は問題ありません。1 か所 (get_site_name 関数を使用したタイトルの後半) を除いて、HTML エンティティはありません。
さらに、問題はソースコードのみにあります。最終的な表示は問題ありません。
これまでの返信に感謝します。このような迅速で価値のある返信をうれしく思います。本当に感謝しています。