我先有一段html字符串,我想把里面的div,h1类似的标签替换为p标签,例如:
<h1 style="font-size:10px;">这是标题</h1>
替换为:
<p>这是标题</p>
最好是 php 语言的。
我先有一段html字符串,我想把里面的div,h1类似的标签替换为p标签,例如:
<h1 style="font-size:10px;">这是标题</h1>
替换为:
<p>这是标题</p>
最好是 php 语言的。
简单封装标签转换
var data = '<h1 style="font-size:10px;">转为p测试</h1><h2 style="font-size:10px;">转为span测试</h2>'
// => <p style="font-size:10px;">转为p测试</p><span style="font-size:10px;">转为span测试</span>
console.log("转换结果", demo(data))
function demo (html) {
const rules = {
'h1': 'p',
'h2': 'span'
}
for(const tag in rules) {
const regStr = `(<)(${tag})(.*?>.*?</)(${tag})(>)`
const reg = new RegExp(regStr, 'g')
html = html.replace(reg, function (_, $1, $2, $3, $4, $5) {
return $1 + rules[tag] + $3 + rules[tag] + $5
})
}
return html
}
<?php
$s = '<h1 style="font-size:10px;">这是标题</h1><div style="font-size:10px;">我是小蜜蜂</div>';
$s = preg_replace("/<h1.*?>(.*?)<\/h1>/i", '<p>$1</p>', $s);
$s = preg_replace("/<div.*?>(.*?)<\/div>/i", '<p>$1</p>', $s);
echo $s;
15 回答8.4k 阅读
4 回答4.4k 阅读✓ 已解决
4 回答4k 阅读
1 回答3.1k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
正则匹配:
上面的这个正则,目前只匹配
h1
和div
标签。测试: