我有一个这样的字符串:
<p>title="abc" </p>
<p title="a"><a title="b"></a></p><pre title="c"></pre>
我想在html标记内替换字符串title
为class
,并将字符串'title'保留在html标记之外。如果您有任何想法,请告诉我。
感谢。
答案 0 :(得分:1)
如果您想使用PHP执行此操作,则应使用DOMDocument。也许这SO post可以帮到你。
编辑:对于仅链接的答案感到抱歉。以下是代码示例:
$html = '<p>title="abc" </p><p title="a"><a title="b"></a></p><pre title="c"></pre>';
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$nodes = $dom->getElementsByTagName('*');
foreach ($nodes as $node) {
if ($node->getAttribute('title')) {
$node->setAttribute('class', $node->getAttribute('title'));
$node->removeAttribute('title');
}
}
$html = $dom->saveHTML();
echo $html;
此代码将为您提供:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>title="abc" </p><p class="a"><a class="b"></a></p><pre class="c"></pre></body></html>
如果您不需要,可以删除标题+额外标记(html / body)。 Online example here