XMLを介してWord文書を作成しています。プロセスの最後のステップは、空白行を削除することです。xmlが複数行の場合に機能するパターンがあるようです。しかし、それは私のpreg_replaceを壊している単一の行として生成されています。次のXMLについて考えてみます。
**<w:p** w:rsidR="009E48E3" w:rsidRPr="008C0DAB" w:rsidRDefault="009E48E3" w:rsidP="004E0AE3"><w:pPr><w:ind w:right="-540"/></w:pPr><w:r w:rsidRPr="008C0DAB">**<w:t>text that should be included</w:t>**</w:r>**</w:p><w:p** w:rsidR="009E48E3" w:rsidRPr="008C0DAB" w:rsidRDefault="009E48E3" w:rsidP="004E0AE3"><w:pPr><w:numPr><w:ilvl w:val="1"/> <w:numId w:val="10"/></w:numPr><w:tabs><w:tab w:val="clear" w:pos="1440"/><w:tab w:val="num" w:pos="1080"/></w:tabs><w:ind w:right="-540" w:hanging="720"/><w:rPr><w:noProof/></w:rPr></w:pPr><w:r><w:rPr><w:noProof/></w:rPr><w:lastRenderedPageBreak/>**<w:t> ; </w:t>**</w:r>**</w:p>**
読みやすくするためにアスタリスクを挿入しました
空白行は常に<w:t></w:t>
タグの間にあり、ピリオドまたはセミコロンが含まれています。したがって、最初の<w:p>
タグはそのままにして、2番目のタグは削除する必要があります。
これが私のパターンです:<w:p .*<w:t>[ ]+?(\.|;)[ ]+?<\/w:t>.*?<\/w:p>
どんな助けにも感謝します、ありがとう!