首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用TRegEx删除HTML标记之间的字符串

用TRegEx删除HTML标记之间的字符串
EN

Stack Overflow用户
提问于 2021-04-07 14:18:14
回答 2查看 270关注 0票数 1

我正在用HTML格式设计一个用Outlook通过电子邮件发送的报告。

为此,我首先加载一个HTML模板,在该模板中可以使用预定义的标记(如CustomerName )插入所有动态部件。

代码语言:javascript
复制
<p>You will find below reports for customer [CustomerName] dated [ReportdDate]</p>

<tag-1>
<h3>TableTitleA</h3>
<table>
  <thead id="t01">
    <tr>
        <th align='center' width='80'>Order Nr</th>
        <th align='left' width='400'>Date</th> 
        <th align='left' width='200'>Info</th> 
        <th align='center' width='200'>Site Name</th> 
    </tr>
  </thead>
  <tbody>
    [TableA]
  </tbody>
</table>
</tag-1>

<tag-2>
<h3>TableTitleB</h3>
<table>
  <thead id="t01">
    <tr>
        <th align='center' width='80'>Order Nr</th>
        <th align='left' width='100'>Date</th> 
        <th align='left' width='400'>Info</th> 
        <th align='left' width='200'>Site Name</th> 
    </tr>
  </thead>
  <tbody>
    [TableB]
  </tbody>
</table>
</tag-2>

<p>Best regards</p>

此模板可以插入两个HTML表:TableATableB

但有时一个表没有数据。所以,我想删除完整的HTML部分。为了达到这个目的,我插入了假标签:

代码语言:javascript
复制
<tag-1></tag-1> and <tag-2></tag-2>

然后使用TRegEx删除整个部分,包括两个假标记。这里运作得很好:

https://regex101.com/r/5OFlyC/1

但是,使用Delphi中的代码,它不能像预期的那样工作:

代码语言:javascript
复制
TRegEx.Replace(MessageBody.Text, '<tag-1>.*?</tag-1>', '');

你能告诉我这里出了什么问题吗?

我的问题已经解决了。感谢你们所有人

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-07 15:46:10

只需使用roSingleLine选项来处理行提要:

代码语言:javascript
复制
MessageBody.Text := TRegEx.Replace(MessageBody.Text, '<tag-1>.*?</tag-1>', '', [roSingleLine]);
票数 2
EN

Stack Overflow用户

发布于 2021-04-07 15:21:44

首先,必须从字符串中删除所有CR,然后在< and >之前使用带转义的表达式

代码语言:javascript
复制
  S:=StringReplace(messagebody.Text,#13#10,'<br>',[rfReplaceAll]);
  S:=TRegEx.Replace(S,'(\<tag-1\>.*?\<\/tag-1\>)','');
  messagebody.text:=StringReplace(S,'<br>',#13#10,[rfReplaceAll]);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66988019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档