Laravel - htmlentities()期望参数1为字符串,给定

时间:2017-04-26 05:37:58

标签: php html laravel laravel-5

我的blade.php代码是:

{!! Form::input('text', 'tactic[]', null, array('id' => 'tactic', 'class' => ' form-control TabOnEnter', 'placeholder' => 'Tactics_1')) !!}

HtmlBuilder.php代码是

public function escapeAll($value)
{
    return htmlentities($value, ENT_QUOTES, 'UTF-8');
}

错误消息是:

ErrorException in HtmlBuilder.php line 65:
htmlentities() expects parameter 1 to be string, array given (View: /home/seyali-02/dev/htdocs/scam/resources/views/dashboard/Scam/edit.blade.php)

我已将blade.php更改为

{!! Form::input('text','', 'tactic[]', null, array('id' => 'tactic', 'class' => ' form-control TabOnEnter', 'placeholder' => 'Tactics_1')) !!}

{!! Form::text('name', 'tactic[]', null, array('id' => 'tactic', 'class' => ' form-control TabOnEnter', 'placeholder' => 'Tactics_1')) !!}

还有text('text', ..但是没有什么对我有用,并且给我带来了与上面提到的相同的错误。我已经完成了与此相关的所有类似问题,但这些答案都没有解决我的问题。所以请避免重复这个问题并给我清楚正确的解决方案..

2 个答案:

答案 0 :(得分:1)

您正在将tactic[]添加到作为数组的名称中,因此当您发布数据时,它将作为数组发送。删除它或在php结束时使用implode

答案 1 :(得分:1)

如果您想将输入作为数组,那么您可以使用此代码

{!! Form :: text('tactic []',null,['id'=>'tactic','class'=>'form-control TabOnEnter','placeholder'=>'Tactics_1'])!! }