⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filteroutput.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
字号:
<?php/** * @version		$Id:output.php 6961 2007-03-15 16:06:53Z tcp $ * @package		Joomla.Framework * @subpackage	Filter * @copyright	Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. * @license		GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative * of works licensed under the GNU General Public License or other free or open * source software licenses. See COPYRIGHT.php for copyright notices and * details. *//** * JFilterOutput * * @static * @package 	Joomla.Framework * @subpackage	Filter * @since		1.5 */class JFilterOutput{	/**	* Makes an object safe to display in forms	*	* Object parameters that are non-string, array, object or start with underscore	* will be converted	*	* @static	* @param object An object to be parsed	* @param int The optional quote style for the htmlspecialchars function	* @param string|array An optional single field name or array of field names not	*					 to be parsed (eg, for a textarea)	* @since 1.5	*/	function objectHTMLSafe( &$mixed, $quote_style=ENT_QUOTES, $exclude_keys='' )	{		if (is_object( $mixed ))		{			foreach (get_object_vars( $mixed ) as $k => $v)			{				if (is_array( $v ) || is_object( $v ) || $v == NULL || substr( $k, 1, 1 ) == '_' ) {					continue;				}				if (is_string( $exclude_keys ) && $k == $exclude_keys) {					continue;				} else if (is_array( $exclude_keys ) && in_array( $k, $exclude_keys )) {					continue;				}				$mixed->$k = htmlspecialchars( $v, $quote_style, 'UTF-8' );			}		}	}	/**	 * This method processes a string and replaces all instances of & with &amp; in links only	 *	 * @static	 * @param	string	$input	String to process	 * @return	string	Processed string	 * @since	1.5	 */	function linkXHTMLSafe($input)	{		$regex = 'href="([^"]*(&(amp;){0})[^"]*)*?"';		return preg_replace_callback( "#$regex#i", array('JFilterOutput', '_ampReplaceCallback'), $input );	}	/**	 * This method processes a string and replaces all accented UTF-8 characters by unaccented	 * ASCII-7 "equivalents", whitespaces are replaced by hyphens and the string is lowercased.	 *	 * @static	 * @param	string	$input	String to process	 * @return	string	Processed string	 * @since	1.5	 */	function stringURLSafe($string)	{		//remove any '-' from the string they will be used as concatonater		$str = str_replace('-', ' ', $string);		$lang =& JFactory::getLanguage();		$str = $lang->transliterate($str);		// remove any duplicate whitespace, and ensure all characters are alphanumeric		$str = preg_replace(array('/\s+/','/[^A-Za-z0-9\-]/'), array('-',''), $str);		// lowercase and trim		$str = trim(strtolower($str));		return $str;	}	/**	* Replaces &amp; with & for xhtml compliance	*	* @todo There must be a better way???	*	* @static	* @since 1.5	*/	function ampReplace( $text )	{		$text = str_replace( '&&', '*--*', $text );		$text = str_replace( '&#', '*-*', $text );		$text = str_replace( '&amp;', '&', $text );		$text = preg_replace( '|&(?![\w]+;)|', '&amp;', $text );		$text = str_replace( '*-*', '&#', $text );		$text = str_replace( '*--*', '&&', $text );		return $text;	}	/**	 * Callback method for replacing & with &amp; in a string	 *	 * @static	 * @param	string	$m	String to process	 * @return	string	Replaced string	 * @since	1.5	 */	function _ampReplaceCallback( $m )	{		 $rx = '&(?!amp;)';		 return preg_replace( '#'.$rx.'#', '&amp;', $m[0] );	}	/**	* Cleans text of all formating and scripting code	*/	function cleanText ( &$text )	{		$text = preg_replace( "'<script[^>]*>.*?</script>'si", '', $text );		$text = preg_replace( '/<a\s+.*?href="([^"]+)"[^>]*>([^<]+)<\/a>/is', '\2 (\1)', $text );		$text = preg_replace( '/<!--.+?-->/', '', $text );		$text = preg_replace( '/{.+?}/', '', $text );		$text = preg_replace( '/&nbsp;/', ' ', $text );		$text = preg_replace( '/&amp;/', ' ', $text );		$text = preg_replace( '/&quot;/', ' ', $text );		$text = strip_tags( $text );		$text = htmlspecialchars( $text );		return $text;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -