Распарсить текст php

252
04 октября 2021, 15:00

Подскажите пожалуйста, есть такой код php.

<select>
<?php
    $i = "(a)(2)(3)(4)(5)";
    $i2 = "(a)(2)(3)(4)(5)";
    $i = str_replace("(", "<option>", $i);
    $i = str_replace(")", "</option>", $i);
    $i2 = str_replace("(", "", $i2);
    $i2 = str_replace(")", "", $i2);
    $i = str_replace("<option>", "<option value='".$i2."'>", $i);
    echo $i;
?>
</select>

Вывод кода такой:

<select>
    <option value="a1a2a3a4a5">a1</option>
    <option value="a1a2a3a4a5">a2</option>
    <option value="a1a2a3a4a5">a3</option>
    <option value="a1a2a3a4a5">a4</option>
    <option value="a1a2a3a4a5">a5</option>
</select> 

Как сделать что бы value было таким:

<select>
    <option value="a1">a1</option>
    <option value="a2">a2</option>
    <option value="a3">a3</option>
    <option value="a4">a4</option>
    <option value="a5">a5</option>
</select> 
Answer 1

не занимайтесь ерундой с реплейсами. Если у вас входные данные приходят в таком формате, то преобразуйте их к нужному, а потом генерите требуемый хтмл.

$keys = explode(')(', trim($i, '()'));
$values = explode(')(', trim($i2, '()'));
$options = array_combine($keys, $values);
foreach($options as $v => $t){
    echo "<option value='a$v'>a$t</option>";
}
READ ALSO
Добавить символ в начало и конец строки php

Добавить символ в начало и конец строки php

Подскажите пожалуйста, передаю с помощью textarea post php такой текст:

174
Ошибка при передачи значения Null MySql - Incorrect integer value: &#39;null&#39; for column &#39;id&#39;

Ошибка при передачи значения Null MySql - Incorrect integer value: 'null' for column 'id'

У меня есть php код для добавления группы:

166
Анимация фигур Android

Анимация фигур Android

Необходимо отобразить анимацию фигур, находящихся на View

100