zend framwork 2 で SeparatorToSeparator() フィルターを使用してデータをフィルター処理したいと思います。
コンストラクターに 2 つの引数 (setSearchSeparator と setReplacementSeparator) を渡すにはどうすればよいですか?
$inputFilter->add(array(
'name' => 'supplierName',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
array('name'=>"Word\SeparatorToSeparator"
),
));
パス:zendframework/bin/libary/Zend/Filter/Word/SeparatorToSeparator.php
class SeparatorToSeparator extends AbstractFilter
{
protected $searchSeparator = null;
protected $replacementSeparator = null;
/**
* Constructor
*
* @param string $searchSeparator Separator to search for
* @param string $replacementSeparator Separator to replace with
*/
public function __construct($searchSeparator = ' ', $replacementSeparator = '-')
{
$this->setSearchSeparator($searchSeparator);
$this->setReplacementSeparator($replacementSeparator);
}
更新しました
$inputFilter->add(array(
'name' => 'supplierName',
'required' => true,
'filters' => array(
array('name' => 'StripTags'),
array('name' => 'StringTrim'),
array('name'=>'Word\SeparatorToSeparator',
'options' => array(
'search_separator' => 'a',
'replacement_separator' => 'b'
)
)
),
));
次のエラー メッセージが表示されました。
警告: preg_quote() は、パラメータ 1 が文字列であると想定します。配列は C:\wamp\www\tebipdevelopment\vendor\zendframework\zendframework\library\Zend\Filter\Word\SeparatorToSeparator.php の 92 行目に指定されています
この行を開き、次のようなエラー メッセージを出力しました。
print_r($this->searchSeparator);
print_r($this->replacementSeparator);
結果
配列 ( [検索セパレータ] => a [置換セパレータ] => b)
その場合、search_separator は文字列ではなく配列に等しい