Ben bu gibi yapılandırılmış metin tabanlı kurallar bir grup var:
Rule 1: Do [XXX] when [PN] greater than [N] Rule 2: Get [PRD ..] and add [X.XX]
Bu ile gitmek (jQuery için) bir CSS sınıf kimliği her bir gruplandırılmış kod çevirir verilerin bir dizidir.
Aynı zamanda, aşağıdaki örnekte olduğu gibi daha basit yapıda bir dizi depolanan ID [code] çeviriler bir dizi vardır:
$translate = array(
'XXX' => 'gen-string-input',
'PN' => 'gen-positivenumber-input',
'N' => 'gen-number-input'
);
Bu, şu elde edilebilir önemlidir:
Ben bu gibi yapılandırılmış bir span etiketi ile [code] her örneğini değiştirmeniz gerekir:
<span class="[classname]" unique="[hash]" offset="[offset]">[CODE]</span>
Bu alanları olduğunu varsayarak
- classname $ çevirmek dizinin sonucudur
- hash her kural için statik bir md5 hash
- offset alanın konumu dizede (örneğin, ilk örnekte, alan [XXX] 0 konumunda olan, [PN] 1 de ve benzeri) .
Bu bilgiye dayanarak, I Rule 1 için aşağıdaki çıktıyı elde etmek için beklediğiniz:
<p>
Do <span class="gen-string-input"
unique="[md5]"
offset="0">[XXX]</span>
when <span class="gen-positivenumber-input"
unique="[md5]"
offset="1">[PN]</span>
greater than <span class="gen-number-input"
unique="[md5]"
offset="2">[N]</span>
</p>
Herhangi bir yardım büyük ölçüde şu anda denemek ve bunu başarmak için str_replace kullanıyorum ama sadece yeterince iyi değil, takdir edilmektedir.