我无法弄明白,我正在寻找一些正在添加一个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)
Van*_*mex 11
这是使用正则表达式:
$result = preg_replace('/(<a\b[^><]*)>/i', '$1 style="xxxx:yyyy;">', $str);
Run Code Online (Sandbox Code Playgroud)
但是Regex无法解析格式错误的HTML文档.