/usr/share/php/Horde/Text/Filter/Tabs2spaces.php is in php-horde-text-filter 2.3.3-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | <?php
/**
* The Horde_Text_Filter_Tabs2spaces:: converts tabs into spaces.
*
* TODO: parameters (breakchar, tabstop)
*
* Copyright 2004-2016 Horde LLC (http://www.horde.org/)
*
* See the enclosed file COPYING for license information (LGPL). If you
* did not receive this file, see http://www.horde.org/licenses/lgpl21.
*
* @author Chuck Hagenbuch <chuck@horde.org>
* @category Horde
* @license http://www.horde.org/licenses/lgpl21 LGPL 2.1
* @package Text_Filter
*/
class Horde_Text_Filter_Tabs2spaces extends Horde_Text_Filter_Base
{
/**
* Filter parameters.
*
* @var array
*/
protected $_params = array(
'breakchar' => "\n",
'tabstop' => 8
);
/**
* Executes any code necessary before applying the filter patterns.
*
* @param string $text The text before the filtering.
*
* @return string The modified text.
*/
public function preProcess($text)
{
$lines = explode($this->_params['breakchar'], $text);
for ($i = 0, $l = count($lines); $i < $l; ++$i) {
while (($pos = strpos($lines[$i], "\t")) !== false) {
$new_str = str_repeat(' ', $this->_params['tabstop'] - ($pos % $this->_params['tabstop']));
$lines[$i] = substr_replace($lines[$i], $new_str, $pos, 1);
}
}
return implode("\n", $lines);
}
}
|