正则表达式,在html(php)中为标签添加属性

Min*_*ure 11 html php regex

我无法弄明白,我正在寻找一些正在添加一个html标签的正则表达式的正则表达式.

例如,假设我有一个包含<a>in 的字符串,并且<a>需要添加一个属性,因此添加了<a>get style="xxxx:yyyy;".你会怎么做呢?

理想情况下,它会向任何标记添加任何属性.

我是否要求大量的php + regex,我应该建立一个类来做这种事情吗?

干杯!

Byr*_*ock 19

据说有一百万次.不要使用正则表达式进行HTML解析.

    $dom = new DOMDocument();
    @$dom->loadHTML($html);
    $x = new DOMXPath($dom);

    foreach($x->query("//a") as $node)
    {   
        $node->setAttribute("style","xxxx");
    }
    $newHtml = $dom->saveHtml()
Run Code Online (Sandbox Code Playgroud)

  • 你会如何阻止`DOMDocument()`在给定标签周围添加`<html>`包装器? (4认同)

Van*_*mex 11

这是使用正则表达式:

  $result = preg_replace('/(<a\b[^><]*)>/i', '$1 style="xxxx:yyyy;">', $str);
Run Code Online (Sandbox Code Playgroud)

但是Regex无法解析格式错误的HTML文档.