參考 http://lzzpnk.blogspot.tw/2012/06/codeigniter-hook-alt.html
1. 在 ./application/config/config.php
$config['enable_hooks'] = TRUE;
2. ./application/config/hooks.php 設定執行的程式
$hook['display_override'][] = array(3. ./application/hook/output.php
'class' => '',
'function' => 'images_auto_set_alt',
'filename' => 'output.php',
'filepath' => 'hooks',
'params' => array( 'output_display' => TRUE )
);
/**
* 將輸出的 圖片(<img>) 進行處理;自動配置 alt 屬性。
*
* @param array $setting=array() 設定
* $setting['output_display'] => 是否直接輸出給瀏覽器。FALSE代表不直接輸出,僅回存至buffer。
* @return NULL 不會回傳東西。
*/
function images_auto_set_alt( $setting=array() ) {
$CI =& get_instance();
$CI->load->library( 'simple_html_dom' ); // require_once APPPATH . 'libraries/simple_html_dom.php';
$buffer = $CI->output->get_output();
$DOM = str_get_html( $buffer );
foreach ( $DOM->find( 'img' ) as $key => $img ) {
if ( empty( $img->alt ) && ! strpos( $img->alt, $CI->config->item( 'site_name' ) ) ) {
$img->alt = $CI->config->item( 'site_name' );
}
else {
$img->alt .= ' - ' . $CI->config->item( 'site_name' );
}
}
$CI->output->set_output( $DOM->save() );
if ( $setting['output_display'] ) {
$CI->output->_display();
}
}
0 意見:
張貼留言