在filters.yml文件中加入:
复制内容到剪贴板
代码:
xmlhttpUtf8DecodeFilter:
class: xmlhttpUtf8DecodeFilter添加一个xmlhttpUtf8DecodeFilter.class.php
复制内容到剪贴板
代码:
<?php
/**
* This filter acts on AJAX requests and decodes the
* request parameter values using the php utf8_decode()
* function.
*
* @author jmunz >jochen.munz@virn.de<
*/
class xmlhttpUtf8DecodeFilter extends sfFilter {
/**
* Run the filter
*/
public function execute ($filterChain) {
$request = $this->getContext()->getRequest();
// Only act if this is an ajax request
if ( $request->isXmlHttpRequest() && $this->isFirstCall() ){
$params = $request->getParameterHolder()->getAll();
$this->decodeParameters($params);
}
// execute next filter
$filterChain->execute();
}
/**
* Decode parameters
*/
private function decodeParameters(&$params){
foreach (array_keys($params) as $key) {
if ( is_array($params[$key]) ) {
$this->decodeParameters($params[$key]);
} else {
$params[$key] = utf8_decode($params[$key]);
}
}
}
}