2012-03-22 2 views
2

PHPアプリケーション内のラベルで置き換える必要のあるハードコードされたラベルテキストを検出する方法はありますか?私はPHPファイルだけでなく、javascript、xmlファイル、SMARTY/TWIGテンプレートについても話しています。多言語アプリケーションには標準的な手順がありますか?PHPアプリケーションでハードコードされたラベルテキストを検出する

+1

テキストはテキストです。 'str_replace'することもできますし、' preg_replace'することもできますし、他の同様の関数を使って操作することもできます。たとえば、私の答え[ここ](http://stackoverflow.com/questions/9783918/using-php-code-in-html-in-php/9784039#9784039)を参照してください。 – Jon

+1

テキスト(文章やインライン注釈を除く)だけを認識し、あらゆる種類の翻訳で扱われる必要のある可能性のあるテキストを表示する、ある種の 'phpmd style'ルールがあるかもしれません。 – mayrs

答えて

1

PHPの場合、token_get_all()を使用してテンプレートファイルを反復処理することができます。

トークンを確認して、プレースホルダと同じ形式でないかどうかを確認します。たとえば、「すべて大文字」などです。


は、XMLのためには、ノードを反復して、任意のテキストコンテンツはあなただけのプレースホルダを期待するところを飛び回っているかどうかをチェックする、ほとんど同じ契約です。

0

我々の検索エンジンは、大規模なコードベースを効率的に検索し、語彙構造を索引付けして検索を高速化するためのツールです。したがって、grepより高速であり、これらの言語レクメムの観点からはるかに微妙なクエリが可能になります。

クエリは、さまざまな制約を持つ一連のレクメムの形式です。一つは、クエリを記述可能性があります

I=*foo* '.' S=*hello 

の意味:「最後の手紙 『ハロー』を持つリテラル文字列に続いて、連結演算子、続いて 『foo』を含む識別子を見つけるPHPの場合は、ジェネリックを字句Sはすべての文字列型のリテラル(squoted文字列、dquoted文字列、heredocなど)を表していますので、検索エンジンは字句構文を理解しているため、介入する空白や改行で混乱することはありませんコメントを表示するにはレイアウトを知る必要はありません(あなたが主張している場合は、制約付きのコメントトークンが見つかります)。

I=*foo* '.' S 

は、任意の識別子ドットストリングの組み合わせを検出します。

自身で

S 

が直接のOPの質問に答えるクエリ「リテラル文字列がどこにあるの?」任意のタイプの

関連する問題