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