0

我有一个($options)存储在 PHP var 中的字符串,其中包含一系列<option>元素,如下所示:

<option class="level-0" value="898">Text 1</option>
<option class="level-1" value="33">&nbsp;Text 2</option>
<option class="level-2" value="543">&nbsp;&nbsp;Text 3</option>
<option class="level-1" value="547">&nbsp;Text 4</option>
<option class="level-0" value="3328">Text 5</option>

我想用value一个函数的结果替换每个的内容,该函数采用前一个值来生成一个 URL。URL 字符串(它是可变的)应该成为每个对应的新值<option>。我想保持原样。

我不确定这是否可以实现preg_replace,但如果每个选项都是一个带键的数组,我会知道该怎么做,但它是一个可变字符串......你会怎么做?

4

1 回答 1

0
$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);
于 2013-01-15T17:31:36.220 回答