function typogrify_hyphenate in Typogrify 7
Replaces = with '­' for easier manual hyphenating.
Parameters
string $text: work on.
1 call to typogrify_hyphenate()
- _typogrify_process in ./
typogrify.module - Processing function to apply the Typogrify filters.
File
- ./
smartypants.php, line 529 - SmartyPants - Smart punctuation for web sites
Code
function typogrify_hyphenate($text) {
$tokens;
$tokens = _TokenizeHTML($text);
$equal_finder = '/(\\p{L})=(\\p{L})/u';
$result = '';
// Keep track of when we're inside <pre> or <code> tags.
$in_pre = 0;
foreach ($tokens as $cur_token) {
if ($cur_token[0] == "tag") {
// Don't mess with quotes inside tags.
$result .= $cur_token[1];
if (preg_match(SMARTYPANTS_TAGS_TO_SKIP, $cur_token[1], $matches)) {
$in_pre = isset($matches[1]) && $matches[1] == '/' ? 0 : 1;
}
}
else {
$t = $cur_token[1];
if (!$in_pre) {
$t = preg_replace($equal_finder, '\\1­\\2', $t);
}
$result .= $t;
}
}
return $result;
}