正则表达式为HTML在PHP属性(Regex for html attributes in php)

2019-08-03 19:22发布

我试图解析HTML标签的字符串在PHP属性。 可以有三种情况:

attribute="value"  //inside the quotes there can be everything also other escaped quotes
attribute          //without the value
attribute=value    //without quotes so there are only alphanumeric characters

有人可以帮助我找到一个正则表达式,可以在第一场比赛中的属性名称,并在第二个属性值获取(如果它存在的话)?

Answer 1:

试试这个,看看它是否是你想从标签中提取的。

preg_match_all('/( \\w{1,}="\\w{1,}"| \\w{1,}=\\w{1,}| \\w{1,})/i', 
    $content, 
    $result, 
    PREG_PATTERN_ORDER);
$result = $result[0];

正则表达式拉每个属性,不包括标签名称,并将结果放置在一个数组,所以你就可以遍历所有的第一和第二属性。



Answer 2:

永远不要使用正则表达式处理HTML , 特别是如果你正在写一个图书馆,不知道你的输入将是什么样子。 看看simplexml的 ,例如。



文章来源: Regex for html attributes in php