【发布时间】:2023-03-27 14:36:01
【问题描述】:
<a href="http://corporate.mattel.com/privacy-policy.aspx" class="privacy">
<b>Primary Text</b> Secondary Text
</a>
我需要标签方式的文本,输出应该是“Primary Text Secondary Text”。
请帮助构建一个正则表达式来实现这个目的。
目前,我正在使用以下正则表达式:-
$regex = "/<a[\s]+[^>]*?href[\s]?=[\s\"\']+"."(.*?)[\"\']+.*?>"."([^<]+|.*?)?<\/a>/";
这个正则表达式给了我一个正确的输出:-
<a href="http://corporate.mattel.com/privacy-policy.aspx" class="privacy">
Primary Text
</a>
【问题讨论】:
-
你应该永远用正则表达式解析 HTML。请改用a PHP DOM parser。
-
这是我的具体要求,我需要正则表达式。目前,我正在使用 /]*?href[\s]?=[\s\"\']+"."(.*?)[\"\']+ .*?>"."([^/.但是如果它里面有任何标签,它就会丢弃文本值。
-
我同意 Jay 的观点,即你应该改变要求,不要使用正则表达式,即使这意味着告诉你的上级他是个白痴 ;) This website 解释了原因。