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 に答える