gpt4 book ai didi

php - 使用 php 在字符串中降级标题标签(递归地将 h1 转换为 h2,将 h2 转换为 h3)

转载 作者:行者123 更新时间:2023-11-28 02:06:45 27 4
gpt4 key购买 nike

我知道我们可以通过将字符串加载到

$doc = DOMDocument::loadXML($xml_str);

然后像这样获取H1标签:

$list = $doc->getElementsByTagName("h1");
for ($i = 0; $i < $list->length; $i++) {
print($list->item($i)->nodeValue . "<br/>\n");
}

如果我想将这些 H1 更改为 H2,我有点不知所措。我读过有关 appendChild() 的内容,但这会使事情变得非常困惑。有没有办法在包含 html 的字符串中递归降级标题标签?该方法将接受以下参数:

function demoteHeadings($xml_string, $top_level='H2'){
//if string's highest heading is more than $top_level,
//we demote all headings in this html by 1 level. i.e. if
//h1 is found, all h1s, h2s and so on are demoted one level -
//and we recursively call this function again;
if($top_level_in_xml > $top_level) demoteHeadings($output, $top_level);
}

希望我说的有道理。我想要实现的是自动解析我的客户在他们的 CMS 中输入的标题......当标题已经是 h1 时,他们在文章中使用 H1。有时,还有一个带有 h1 的页面标题,这确实弄乱了整个页面的结构。

最佳答案

str_ireplace()不是更简单吗?

$content = str_ireplace(array('<h1>','</h1>'),array('<h2>','</h2>'),$input);

关于php - 使用 php 在字符串中降级标题标签(递归地将 h1 转换为 h2,将 h2 转换为 h3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11011185/

27 4 0