如何使用Regex删除HTML标签ID属性中的多个“[”?

时间:2012-07-05 08:40:08

标签: php regex preg-replace

如何使用Regex删除HTML标签ID属性中的多个“[”?

例如

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

更改为

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

2 个答案:

答案 0 :(得分:2)

您可能(最有可能)应该使用PHP HTML解析器(例如PHP Simple DOM Parser)来检查HTML,提取ID值,然后使用类似的内容替换它:

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

这样,您就可以安全以相对简单的方式仅修改id部分。

答案 1 :(得分:0)

使用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并将它们传递给函数,并用返回值替换它们。