0

次の文字列をソースからターゲットに変換し、ターゲットからソースに変換したいと考えています。

$strSource = '<g id="5">fist test string</g> <d id="20">some random string</d>';
$strTarget = '{1}fist test string{2}some random string{3}';

私が見つけた解決策は、配列と preg_replace を使用することです。

xslt を使用してこの変換を行うための効率的なソリューションがあるかどうか疑問に思っています。追加データの使用は許可されています。データには、役立つ情報を含めることができます。

更新しました:

これは、よりよく理解するために、preg_match_all を使用した target->source の私のソリューションです。

preg_match_all('/(<.*>)(?!\s*<)/U', $strSource, $arrResult);
echo preg_replace('/{(\d+)}/e', 'arrResult[1]["$1" - 1]', $strTarget);
4

1 に答える 1