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

时间:2016-05-17 13:59:01

标签: php arrays forms laravel octobercms

我有一个名为' str_local_og_fb_admins'的输入框。我希望该输入框能够拥有多个管理员,就像我输入表格" 1234,5678"我希望回归:

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

我能够创建一个标签,就像我把它放在我的表格中一样#34; 1234,5678&#34;它返回:

<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 %}

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

1 个答案:

答案 0 :(得分:1)

  

我有一个表单字段,如果我在那里输入&#34; 123,321&#34;它给了我   价值&#34; 123,321&#34;但是我希望它能分别给我123和321,   基本上我想将一个字符串拆分成一个数组

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

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