我想将"controllers[page[title_new]]"
转换为"controllers[page][title_new]"
。所以我可以用以下输入字段填写表单:
<?php $name = 'controllers[page[title_new]]' ?>
<input type='text' name='<?= $name; ?>'>
提交表单后,您将获得$ _POST =
array(controllers => array(page => array(title_new = '')));
现在要显示这个我想:
<input type='text' name='<?= $name; ?>' value='<?= $_POST[CONVERT($name)]; ?>'>
那么在PHP中内置了CONVERT
吗?或者我怎么能以最好的方式做到这一点?
*请注意,为了便于阅读,我遗漏了所有验证/转义/ htmlentities等
答案 0 :(得分:0)
没有像你问过的转换,但稍微不同的方法可能更好:
<?php
$name = 'title_new';
$data = $_POST['controllers']['page'];
?>
<input type='text' name='controllers[page][<?=$name?>]' value='<?=$data[$name]?>' />
答案 1 :(得分:0)
以下是有效的:
$name = 'controllers[page[title_new]]';
$name = str_replace(array('[', ']]'), array('][', ']'), $name);
//gives: controllers][page][title_new]] -> controllers][page][title_new]
$name = preg_replace('/\]\[/','[', $name, 1);
// gives: controllers[page][title_new]
*我保持问题的开放性以获得更好的答案!