如何在octobercms上使用php从单个表单输入框创建数组


How do I create an array from a single form input box with php on octobercms?

我有一个名为"str_local_og_fb_admins"的输入框,我希望该输入框能够有多个管理员,就像我在表单"12345678"中输入一样,我希望返回为:

<meta property="fb:admins" content="1234">
<meta property="fb:admins" content="5678">

我只能创建一个标签,就像如果我把它放在表单"12345678"中,它会返回:

<meta property="fb:admins" content="1234,5678">

我正在使用一个octobercms插件来处理打开的图形标记,这是我遇到的唯一问题,这里是我创建的输入字段(它是在plugin.php文件中创建的):

if (!$widget->model instanceof 'Cms'Classes'Page) return;
    $widget->addFields([
    'settings[str_local_og_fb_admins]' => [
                            'label' => 'Facebook Admins',
                            'type'  => 'text',
                            'placeholder' => 'Example: 1234',
                            'tab'   => 'Facebook Tags',
                          ]],  'primary');

我使用我创建的组件输出标记,这就是该组件的default.htm的样子:

{% if this.page.str_local_og_fb_admins %}
    <meta property="fb:admins" content="{{this.page.str_local_og_fb_admins}}">
{% endif %}

我还在数据库中将字段设置为字符串。(我的插件是一个后端插件,我的所有表单都只出现在后端页面上)

我有一个表单字段,如果我在那里输入"123321",它会给我值"123321",但我希望它分别给我123和321,基本上,我想把一个字符串分割成一个数组

答案很简单,使用PHP中的explode函数:

$str = "123,321";
$pieces = explode(",", $str);
echo $pieces[0]; // "123"
echo $pieces[1]; // "321"