2017-10-09 5 views
0

多くのフィルタに基づいたシステムを開発しています。私は入力を受け取り、入力は消される必要があります。私たちはすでに大規模な衛生システムを構築しており、内部には多くの論理がありますが、これを単純化してより機敏にしたいと考えています。限定された編集プログラミングのためのPHPのシンプルなロジックエンジン

非常に簡単な例:「Boat」「Boaat」「BoAt」および「boat」という単語が含まれているフィードにフィルタを設定することができます。それらはすべて、データベース内の同じエンティティ「ボート」にマップされる必要があります。

私たちが探していたのは、非常に限られたjavascript、lua、python、何かをPHPで実行する方法です.PECLやPHP用の新しいバイナリを使用しません。単に我々が探しているためにどのようなフィルタの

var r = VALUE.toLowerCase(); 
if (r=="boaat")r="boat"; 
return r; 

これらの例は、上記の単純な-very-あり、かつ、次のとおりです。これで私たちの編集者は、のような(JSで)非常に条件が何かを行うことができます。

シンプルなPHP評価版になるようなことを避けたいと思います。

簡単な質問:PHP内の単純なロジック/スクリプトエンジンを実行するには、「変数環境」を手動で挿入するオプションを使用して実行できます。どのようなオプションがありますか?

+0

あなたは(大文字または小文字のいずれか)の両方の値の筐体を変換することができ、その後の比較を行います。それはさまざまなケースを担当します。パターンのようなマッチングのためにsoundexや他の同様の関数を使うことができます。 – jeff

+0

[PHP soundex](http://php.net/manual/en/function.soundex.php)を見ましたか? – Tigger

+0

例は例示のためのものであり、解くためのものではありません。 –

答えて

0

なぜあなたの単語をオブジェクトに集め、小文字の単語でアクセスして正規化された単語を取得してみませんか?

{ 
    boat: 'boat', 
    boaat: 'boat' 
} 

アクセスが

word = words[string.toLowerCase()]; 
+0

私はすべての変換ロジックをプログラマではなくエディタに移動しようとしています。私たちはすでにこの種の解決ロジックを用意しており、そのための大きなインターフェースを持っています。新しい暫定的な問題が発生するたびにプログラマが必要となるため、スケーラビリティが優れていないため、柔軟性が必要です。繰り返しますが、私の例は非常に単純化されていますが、あまり読みすぎません。 –

関連する問題