我正在寻找使用preg_replace或类似方法进行更改的解决方案:
<li id="id1" class="authorlist" />
<li id="id2" class="authorlist" />
<li id="id3" class="authorlist" />
到
<option id="id1" class="authorlist" />
<option id="id2" class="authorlist" />
<option id="id3" class="authorlist" />
我认为我的模式是正确的,但不确定如何更换零件......
这是(wordpress)php代码:
$string = wp_list_authors( $args ); //returns list as noted above
$pattern = '<li ([^>]*)';
$replacement = '?????';
echo preg_replace($pattern, $replacement, $string);
建议,拜托?
答案 0 :(得分:6)
我认为简单的字符串替换最好
str_replace('<li', '<option', $string)
结束标记相同
str_replace('</li', '</option', $string)
答案 1 :(得分:2)
像这样:
echo str_replace('</li', '</option', (str_replace('<li', '<option', $string));
答案 2 :(得分:0)
您需要在模式中使用分隔符。例如:
$pattern = '@<li @';
$replacement = '<option ';