j'ai un ensemble de règles à base de texte qui sont structurés comme ceci:PHP: Parse une chaîne pour effectuer des remplacements
Rule 1: Do [XXX] when [PN] greater than [N] Rule 2: Get [PRD ..] and add [X.XX]
Pour aller avec c'est un tableau de données qui se traduit chaque code regroupées en une classe CSS ID (pour jQuery).
J'ai aussi un tableau de traductions de [Code] à ID stocké dans un simple tableau structuré, comme l'exemple suivant:
$translate = array(
'XXX' => 'gen-string-input',
'PN' => 'gen-positivenumber-input',
'N' => 'gen-number-input'
);
Il est important que les éléments suivants peuvent être atteints:
J'ai besoin de remplacer chaque instance de [Code] avec une balise span qui est structuré comme suit:
<span class="[classname]" unique="[hash]" offset="[offset]">[CODE]</span>
Cela suppose que les champs sont
- classname est le résultat de la $ traduire tableau
- hachage est un hachage md5 qui est statique pour chaque règle
- décalage est la position du champ dans la chaîne (par ex. dans le premier exemple, le champ [XXX] est à la position 0, [PN] à la position 1 et ainsi de suite).
Sur la base de ces informations, je vous attendre à obtenir la sortie suivante pour Règle 1:
<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>
Toute aide est grandement appréciée, je suis actuellement en utilisant str_replace pour essayer de réaliser cela, mais il est juste pas assez bon.
Je comprends à peine ce que vous demandez ... pourriez-vous s'il vous plaît poster un exemple de code? Où sont stockés XXX et PN? Comment sont-ils liés au tableau $ translate? – Seb