如何使用正则表达式删除 HTML 标记 ID 属性中的多个“[”


How can I remove multiple "[" in HTML Tag ID attribute with Regex?

如何使用

正则表达式删除 HTML 标记 ID 属性中的多个"["?

例如

<div id="test[12][45][67]">test inline [for example]</div>

更改为

<div id="test12]45]67]">test inline [for example]</div>

你可以(很可能应该)做的是使用 PHP HTML 解析器,例如 PHP Simple DOM Parser 来遍历 HTML,提取 ID 值,然后使用如下所示的内容替换它:

<?php
$string = <yourID>
$pattern = '/'[/g';
$replacement = '';
echo preg_replace($pattern, $replacement, $string);
?>

这将允许您以相对简单的方式安全地仅修改id部分。

使用 JavaScript:

function rem_open_square_brackets(_id) {
    if(_id) {
        return _id.replace(/['[]*/g, '');
    }
    return _id;
}
var _id = rem_open_square_brackets('test[12][45][67]');
document.write(_id);

您可以找到所有 ID 并将它们粘贴到函数中,并将它们替换为返回值。