@@ -602,7 +602,7 @@ public function resolveUrl($url) {
602
602
* @return string|null the parsed value or null if value-class or -title aren’t in use
603
603
*/
604
604
public function parseValueClassTitle (\DOMElement $ e , $ separator = '' ) {
605
- $ valueClassElements = $ this ->xpath ->query ('./*[contains(concat(" ", @class, " "), " value ")] ' , $ e );
605
+ $ valueClassElements = $ this ->xpath ->query ('./*[contains(concat(" ", normalize-space( @class) , " "), " value ")] ' , $ e );
606
606
607
607
if ($ valueClassElements ->length !== 0 ) {
608
608
// Process value-class stuff
@@ -614,7 +614,7 @@ public function parseValueClassTitle(\DOMElement $e, $separator = '') {
614
614
return unicodeTrim ($ val );
615
615
}
616
616
617
- $ valueTitleElements = $ this ->xpath ->query ('./*[contains(concat(" ", @class, " "), " value-title ")] ' , $ e );
617
+ $ valueTitleElements = $ this ->xpath ->query ('./*[contains(concat(" ", normalize-space( @class) , " "), " value-title ")] ' , $ e );
618
618
619
619
if ($ valueTitleElements ->length !== 0 ) {
620
620
// Process value-title stuff
@@ -702,7 +702,7 @@ public function parseU(\DOMElement $u) {
702
702
*/
703
703
public function parseDT (\DOMElement $ dt , &$ dates = array (), &$ impliedTimezone = null ) {
704
704
// Check for value-class pattern
705
- $ valueClassChildren = $ this ->xpath ->query ('./*[contains(concat(" ", @class, " "), " value ") or contains(concat(" ", @class, " "), " value-title ")] ' , $ dt );
705
+ $ valueClassChildren = $ this ->xpath ->query ('./*[contains(concat(" ", normalize-space( @class) , " "), " value ") or contains(concat(" ", normalize-space( @class) , " "), " value-title ")] ' , $ dt );
706
706
$ dtValue = false ;
707
707
708
708
if ($ valueClassChildren ->length > 0 ) {
@@ -978,7 +978,7 @@ public function parseH(\DOMElement $e, $is_backcompat = false, $has_nested_mf =
978
978
}
979
979
980
980
// Handle p-*
981
- foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", @class) ," p-")] ' , $ e ) as $ p ) {
981
+ foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", normalize-space( @class) ) ," p-")] ' , $ e ) as $ p ) {
982
982
// element is already parsed
983
983
if ($ this ->isElementParsed ($ p , 'p ' )) {
984
984
continue ;
@@ -1003,7 +1003,7 @@ public function parseH(\DOMElement $e, $is_backcompat = false, $has_nested_mf =
1003
1003
}
1004
1004
1005
1005
// Handle u-*
1006
- foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", @class)," u-")] ' , $ e ) as $ u ) {
1006
+ foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", normalize-space( @class) )," u-")] ' , $ e ) as $ u ) {
1007
1007
// element is already parsed
1008
1008
if ($ this ->isElementParsed ($ u , 'u ' )) {
1009
1009
continue ;
@@ -1028,7 +1028,7 @@ public function parseH(\DOMElement $e, $is_backcompat = false, $has_nested_mf =
1028
1028
$ temp_dates = array ();
1029
1029
1030
1030
// Handle dt-*
1031
- foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", @class), " dt-")] ' , $ e ) as $ dt ) {
1031
+ foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", normalize-space( @class) ), " dt-")] ' , $ e ) as $ dt ) {
1032
1032
// element is already parsed
1033
1033
if ($ this ->isElementParsed ($ dt , 'dt ' )) {
1034
1034
continue ;
@@ -1063,7 +1063,7 @@ public function parseH(\DOMElement $e, $is_backcompat = false, $has_nested_mf =
1063
1063
}
1064
1064
1065
1065
// Handle e-*
1066
- foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", @class)," e-")] ' , $ e ) as $ em ) {
1066
+ foreach ($ this ->xpath ->query ('.//*[contains(concat(" ", normalize-space( @class) )," e-")] ' , $ e ) as $ em ) {
1067
1067
// element is already parsed
1068
1068
if ($ this ->isElementParsed ($ em , 'e ' )) {
1069
1069
continue ;
@@ -1755,15 +1755,15 @@ public function convertLegacy() {
1755
1755
1756
1756
// replace all roots
1757
1757
foreach ($ this ->classicRootMap as $ old => $ new ) {
1758
- foreach ($ xp ->query ('//*[contains(concat(" ", @class, " "), " ' . $ old . ' ") and not(contains(concat(" ", @class, " "), " ' . $ new . ' "))] ' ) as $ el ) {
1758
+ foreach ($ xp ->query ('//*[contains(concat(" ", normalize-space( @class) , " "), " ' . $ old . ' ") and not(contains(concat(" ", normalize-space( @class) , " "), " ' . $ new . ' "))] ' ) as $ el ) {
1759
1759
$ el ->setAttribute ('class ' , $ el ->getAttribute ('class ' ) . ' ' . $ new );
1760
1760
}
1761
1761
}
1762
1762
1763
1763
foreach ($ this ->classicPropertyMap as $ oldRoot => $ properties ) {
1764
1764
$ newRoot = $ this ->classicRootMap [$ oldRoot ];
1765
1765
foreach ($ properties as $ old => $ data ) {
1766
- foreach ($ xp ->query ('//*[contains(concat(" ", @class, " "), " ' . $ oldRoot . ' ")]//*[contains(concat(" ", @class, " "), " ' . $ old . ' ") and not(contains(concat(" ", @class, " "), " ' . $ data ['replace ' ] . ' "))] ' ) as $ el ) {
1766
+ foreach ($ xp ->query ('//*[contains(concat(" ", normalize-space( @class) , " "), " ' . $ oldRoot . ' ")]//*[contains(concat(" ", normalize-space( @class) , " "), " ' . $ old . ' ") and not(contains(concat(" ", normalize-space( @class) , " "), " ' . $ data ['replace ' ] . ' "))] ' ) as $ el ) {
1767
1767
$ el ->setAttribute ('class ' , $ el ->getAttribute ('class ' ) . ' ' . $ data ['replace ' ]);
1768
1768
}
1769
1769
}
0 commit comments