在传递php函数的输出时动态替换选项的值
我在PHP变量中存储了一个字符串在传递php函数的输出时动态替换选项的值,php,arrays,string,preg-replace,var,Php,Arrays,String,Preg Replace,Var,我在PHP变量中存储了一个字符串($options),它包含一系列元素,如下所示: <option class="level-0" value="898">Text 1</option> <option class="level-1" value="33"> Text 2</option> <option class="level-2" value="543"> Text 3<
($options)
,它包含一系列
元素,如下所示:
<option class="level-0" value="898">Text 1</option>
<option class="level-1" value="33"> Text 2</option>
<option class="level-2" value="543"> Text 3</option>
<option class="level-1" value="547"> Text 4</option>
<option class="level-0" value="3328">Text 5</option>
Text 1
文本2
文本3
文本4
文本5
我想用一个函数的结果替换每个值的内容,该函数使用前一个值生成URL。URL字符串(可变)应成为每个相应
的新值。我想保留剩下的一切
我不确定使用preg\u replace
是否可以实现这一点,但如果每个选项都是一个带键的数组,但它是一个可变字符串,我知道如何实现这一点。。。你会怎么做?$lines=explode(PHP\u EOL,$options);
$lines = explode(PHP_EOL, $options);
$new_options = array();
foreach ($lines as $option_line) {
//do the preg replace for each line (quick and dirty regexp)
$replaced_string_value = preg_replace('/>(\w+)<\//i', '>replacement<\\', $option_line);
//add it to the new array
$new_options[] = $replaced_string_value;
}
$options = implode(PHP_EOL, $new_options);
$new_options=array();
foreach($行作为$option\u行){
//是否为每一行更换preg(快速和脏regexp)
$replaced\u string\u value=preg\u replace('/>(\w+)replacement在构建选项列表/生成字符串时,是否不可能执行此操作?不幸的是,没有:)这是wordpress的问题:函数wp\u dropdown\u categories()返回下拉列表(可以回送或放入变量),但我需要使用非常永久的链接来更改这些值-我可以使用get_term_link()来实现这一点,它接受值(它是term ID)并返回一个非常永久的链接。如果wp_dropdown_类别允许自定义walker这样做,我本来可以在生成下拉列表之前完成它,但它似乎不允许。然后html解析器或regex它是。。。