0

HTML からハードコードされた文字列を抽出するための助けが必要です。

これは、私が使用するテンプレート エンジンのマークアップの例です。

[[if:"x";"y"]]
    <p>true part</p>
[[:else]]
    <p>false part</p>
[[:endif]]

[[each:ARRAY;KEY;VALUE]]
    Index :[[KEY]] is :[[VALUE]]

    or if VALUE is an array
    Index :[[KEY]], FOO is :[[VALUE:FOO]]
[[:endeach]]

{$_TEMPLATE['VARS']}

<p><b>I want this</b> and this, {%'AND **THIS NOT**, THIS IS ALREADY TRANSLATED
SINGLE QUOTE MARK IS ESCAPED BY A BACKSLASH \' '}
LINES</p>

現在、私はそのパターンを使用しています/>([^\<\>\n\{\}]+\S*?)+</isが、信頼できません。

:[[VAR]]{$_TEMPLATE['VAR']}および制御ブロック ([[if:"x";"y"]]など) は抽出しないでください。混合テキスト (Foo:[[has]]バー)の場合は、個別に抽出する必要がFooありますbar

属性について/(placeholder|title|alt|value)\=\"([^\"\'=\{\}\[\]]*?)\"/は、問題のないパターンを使用しています

あなたが私を助けてくれることを願っています。

編集: この例からの必要な出力:

true part
false part
Index 
is
or if VALUE is an array
Index
, FOO is
I want this
and this
4

0 に答える 0