Got questions, comments, patches, etc.?
Contact Jason Woofenden
gitweb
/
wfpl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
a99bf36
)
enc_htmlbrtab: convert tabs too (not just spaces)
author
Jason Woofenden
<jason@jasonwoof.com>
Fri, 5 Sep 2014 16:03:46 +0000
(12:03 -0400)
committer
Jason Woofenden
<jason@jasonwoof.com>
Fri, 5 Sep 2014 16:03:46 +0000
(12:03 -0400)
encode.php
patch
|
blob
|
history
diff --git
a/encode.php
b/encode.php
index
e79dae2
..
f5c1e24
100644
(file)
--- a/
encode.php
+++ b/
encode.php
@@
-69,13
+69,13
@@
function enc_htmlbr($str) {
}
# Encode for output in html. Preserves newlines and indentation by converting
}
# Encode for output in html. Preserves newlines and indentation by converting
-# newlines to <br> and spaces at the begining of lines to
+# newlines to <br> and spaces/tabs at the begining of lines to s
#
# Example: <p>~foo htmlbrtab~</p>
function enc_htmlbrtab($str) {
$str = enc_htmlbr($str);
#
# Example: <p>~foo htmlbrtab~</p>
function enc_htmlbrtab($str) {
$str = enc_htmlbr($str);
- $space_to_nbsp = create_function('$matches', 'return str_repeat(\' \', strlen($matches[0]) * 2);');
- $str = preg_replace_callback("|^ *|m", $space_to_nbsp, $str);
+ $whitespace_to_nbsp = create_function('$matches', '$count = 0; $chars = str_split($matches[0]); foreach ($chars as $c) { if ($c == " ") { $count += 2; } else if ($c == "\t") { $count += 8; } } return str_repeat(" ", $count);');
+ $str = preg_replace_callback("|^[ \t]+|m", $whitespace_to_nbsp, $str);
return $str;
}
return $str;
}