| @@ -685,9 +685,10 @@ | ||
| 685 | 685 | // Notice the \[ starting the attbute? and the @? following? This implies that an attribute can begin with an @ sign that is not captured. |
| 686 | 686 | // This implies that an html attribute specifier may start with an @ sign that is NOT captured by the expression. |
| 687 | 687 | // farther study is required to determine of this should be documented or removed. |
| 688 | 688 | // $pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; |
| 689 | - $pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-:]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; | |
| 689 | +// $pattern = "/([\w-:\*]*)(?:\#([\w-]+)|\.([\w-]+))?(?:\[@?(!?[\w-:]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; | |
| 690 | + $pattern = "/([\w\-:\*]*)(?:\#([\w\-]+)|\.([\w\-]+))?(?:\[@?(!?[\w\-:]+)(?:([!*^$]?=)[\"']?(.*?)[\"']?)?\])?([\/, ]+)/is"; | |
| 690 | 691 | preg_match_all($pattern, trim($selector_string).' ', $matches, PREG_SET_ORDER); |
| 691 | 692 | if (is_object($debug_object)) {$debug_object->debug_log(2, "Matches Array: ", $matches);} |
| 692 | 693 | |
| 693 | 694 | $selectors = array(); |
| @@ -1381,9 +1382,11 @@ | ||
| 1381 | 1382 | $this->char = $this->doc[--$this->pos]; // prev |
| 1382 | 1383 | return true; |
| 1383 | 1384 | } |
| 1384 | 1385 | |
| 1385 | - if (!preg_match("/^[\w-:]+$/", $tag)) { | |
| 1386 | +// /^[\w-:]+$/ | |
| 1387 | + | |
| 1388 | + if (!preg_match("/^[\w\-:]+$/", $tag)) { | |
| 1386 | 1389 | $node->_[HDOM_INFO_TEXT] = '<' . $tag . $this->copy_until('<>'); |
| 1387 | 1390 | if ($this->char==='<') { |
| 1388 | 1391 | $this->link_nodes($node, false); |
| 1389 | 1392 | return true; |