コードの構造が悪いだけなのか、これが通常は見つからない問題なのかはわかりませんが、問題の解決策を探し始める方法すらわかりません。私はこのように呼ばれる私自身の簡単な翻訳スクリプトを持っています:
<?php echo $Translate->text("Name"); ?>
キーワード'Name'の文字列を返します(そしてエコーします)。問題は、いくつかの理由(名前:誤訳、レポート、開発、その場での翻訳)のために、ページ上にあるすべての文字列のキーワードを取得したい場合があることです。単純なページ(example.com/campus/index.php)は次のようになります。
<h1> <?php echo $Translate->text(Campus); ?> </h1>
<p style="text-align:justify;">
<?php echo $Translate->text(126); ?>
</p>
<p style="text-align:justify;">
<?php echo $Translate->text(129); ?>
</p>
<a href="<?php $Link->create("campus/about"); ?>">
<h2 class="bodymenu"><?php echo $Translate->text(About); ?> </h2>
</a>
<p style="text-align:justify;">
<?php echo $Translate->text(146); ?>
</p>
<a href="<?php $Link->create("campus/learning_center"); ?>">
<h2 class="bodymenu"><?php echo $Translate->text(Learning_center); ?> </h2>
</a>
<p style="text-align:justify;">
<?php echo $Translate->text(147); ?>
</p>
<a href="<?php $Link->create("campus/residence"); ?>">
<h2 class="bodymenu"><?php echo $Translate->text(Residence); ?> </h2>
</a>
<p style="text-align:justify;">
<?php echo $Translate->text(128); ?>
</p>
そして、私はいくつかの状況で取得したいと思います:別のページからの$Translations=array("Campus","126","129","About","146","Learning_center","147","Residence","128");
さらなる処理(編集)のために。
場合によっては、ページにさらに多くのphpロジックが混在している場合もあれば、このような場合もあります。すべてのページの前後に自動的に含まれるロジックコードとクラスがはるかに多くあります。したがって、基本的に、すべてのキーワードを取得する方法を知りたいと思います(この例では、拡張できます)。
基本的に2つの方法を考えていますが、どちらも最適ではないと思います。まず、正規表現を使用する場合と同じようにphpコードを解析します。私は自分が探しているビットを知っているので、それは可能だと思います。2つ目は、SESSION変数に応じて、htmlをレンダリングして解析するため、のecho $Translate->text(Campus);
ようなものが返さ<span id="Translation">Campus</span>
れ、htmlのみが解析され、すべてのIDが取得されます。これに乗る前に、IDを取得する他の方法について考えていただけますか?
PS、ページの最初または最後に配列内のすべてのIDをハードコーディングしたくありません。