我正在使用PHP来回显存储在我的数据库中的内容。内容是携带任何类型数据的DIV。
问题是我不知道ID,如果我尝试多次显示这些DIV,我会遇到一些问题。
所以,我的想法是每次我想显示它们时修改DIV id。 像这样:
<?php modify_div_id($data,"id-456"); ?>
我将如何做到这一点?
答案 0 :(得分:1)
这很难看,但我觉得它很有用。
function modify_div_id( $data, $new_id ) {
return preg_replace( '/(<div[^>]+?id=)("|\')(.*?)("|\')/i', '$1$2' . $new_id . '$4', $data );
}
最好的方法是使用XML解析器来更改属性。
编辑:该函数假定div已经具有id属性。
编辑#2
它似乎正在发挥作用!
jwandborg@sophie:~$ cat | php -r "eval( file_get_contents('php://stdin') );"
function modify_div_id( $data, $new_id ) {
return preg_replace( '/(<div[^>]+?id=)("|\')(.*?)("|\')/i', '$1$2' . $new_id . '$4', $data );
}
echo modify_div_id('<div pajas="pajas" id="fisk">Innehåll</div>', 'nytt_id');
# Result: <div pajas="pajas" id="nytt_id">Innehåll</div>
答案 1 :(得分:0)
你的问题含糊不清。
首先,HTML元素的id
属性必须是唯一的,因此回显唯一的id
是合适的(您也可以使用class
)。
如果您查询了数据库并收到了包含id
和内容的数组,则可以按如下方式使用该功能:
function modify_div_id($data, $id) {
echo "<div id='$id'>$data</div>";
}
只是一个例子。