summaryrefslogtreecommitdiffstats
path: root/system/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'system/libraries')
-rw-r--r--system/libraries/Typography.php8
1 files changed, 5 insertions, 3 deletions
diff --git a/system/libraries/Typography.php b/system/libraries/Typography.php
index 9490c7ce5..317208f2f 100644
--- a/system/libraries/Typography.php
+++ b/system/libraries/Typography.php
@@ -84,12 +84,13 @@ class CI_Typography {
// Convert quotes within tags to temporary markers. We don't want quotes converted
// within tags so we'll temporarily convert them to {@DQ} and {@SQ}
+ // and we don't want double dashes converted to emdash entities, so they are marked with {@DD}
if (preg_match_all("#\<.+?>#si", $str, $matches))
{
for ($i = 0, $total = count($matches[0]); $i < $total; $i++)
{
$str = str_replace($matches[0][$i],
- str_replace(array("'",'"'), array('{@SQ}', '{@DQ}'), $matches[0][$i]),
+ str_replace(array("'",'"','--'), array('{@SQ}', '{@DQ}', '{@DD}'), $matches[0][$i]),
$str);
}
}
@@ -106,7 +107,7 @@ class CI_Typography {
}
}
}
-
+
// Convert "ignore" tags to temporary marker. The parser splits out the string at every tag
// it encounters. Certain inline tags, like image tags, links, span tags, etc. will be
// adversely affected if they are split out so we'll convert the opening bracket < temporarily to: {@TAG}
@@ -178,7 +179,8 @@ class CI_Typography {
// Replace the temporary markers we added earlier
'/\{@TAG\}/' => '<',
'/\{@DQ\}/' => '"',
- '/\{@SQ\}/' => "'"
+ '/\{@SQ\}/' => "'",
+ '/\{@DD\}/' => '--'
);