Skip to content

Commit

Permalink
Merge pull request #700 from aidantwoods/fix/spaces-in-class-names-1.7.x
Browse files Browse the repository at this point in the history
[1.7.x] Fix spaces in class names
  • Loading branch information
aidantwoods committed Mar 17, 2019
2 parents 92e9c27 + 0f1e9da commit c390a9e
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 4 deletions.
5 changes: 2 additions & 3 deletions .travis.yml
Expand Up @@ -12,13 +12,12 @@ matrix:
- php: 5.6
- php: 7.0
- php: 7.1
- php: 7.2
- php: 7.3
- php: nightly
- php: hhvm
- php: hhvm-nightly
fast_finish: true
allow_failures:
- php: nightly
- php: hhvm-nightly

install:
- composer install --prefer-dist --no-interaction --no-progress
Expand Down
16 changes: 15 additions & 1 deletion Parsedown.php
Expand Up @@ -429,7 +429,21 @@ protected function blockFencedCode($Line)

if (isset($matches[1]))
{
$class = 'language-'.$matches[1];
/**
* https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#classes
* Every HTML element may have a class attribute specified.
* The attribute, if specified, must have a value that is a set
* of space-separated tokens representing the various classes
* that the element belongs to.
* [...]
* The space characters, for the purposes of this specification,
* are U+0020 SPACE, U+0009 CHARACTER TABULATION (tab),
* U+000A LINE FEED (LF), U+000C FORM FEED (FF), and
* U+000D CARRIAGE RETURN (CR).
*/
$language = substr($matches[1], 0, strcspn($matches[1], " \t\n\f\r"));

$class = 'language-'.$language;

$Element['attributes'] = array(
'class' => $class,
Expand Down

0 comments on commit c390a9e

Please sign in to comment.