正则表达式:grep HTML-Tags-Attributes中的特殊字符

时间:2013-10-02 09:27:21

标签: php regex

以下正则表达式无法100%正常工作...

~<?<.*?(")|(\s)|(:)|(;)|(,).*?[>]~gm

在此字符串中

<span style="font-family: verdana,sans-serif;"><strike>Strike</strike></span>::<b><strike>Bold-Strike</strike></b>::<b><i><strike>Bold-Strike-Italic</strike></i></b>::<strike><b>Bold-Strike</b></strike><strike><b><i><u><font size="6"><strike><b>Bold-Strike-Font</b></strike></font></u></i></b></strike>::<u><strike>Strike2</strike></u>

我需要匹配html-tags-attributes中的所有特殊字符(="-:

1 个答案:

答案 0 :(得分:2)

你可以试试这个正则表达式:

(?:<|\G)[^<>=":,; -]*([ =":,;-](?=[^<>]*>))

regex101 demo

\G匹配第一场比赛的结尾,并允许您获取同一标签中的所有“特殊字符”。