@@ -30,7 +30,7 @@ private function convert2XPath($query){
3030 $ xpath = $ query ;
3131
3232 $ xpath = preg_replace (
33- [
33+ [
3434 "/::/ " ,
3535 "/([^,])\s/ " ,
3636 "/\/>\// " ,
@@ -225,16 +225,22 @@ public function prependHtml($html){
225225 $ this ->obj = null ;
226226 }
227227
228- public function delete ($ keepinner = false ){
228+ public function remove ($ keepinner = false ){
229229
230- foreach ($ this ->obj as $ item ){
231- if (!$ keepinner ){
232- $ item ->parentNode ->removeChild ($ item );
233- } else {
234- while ($ item ->firstChild instanceof DOMNode) {
235- $ item ->parentNode ->insertBefore ($ item ->firstChild , $ item );
230+ if ($ this ->query != "::attributes " ) {
231+ foreach ($ this ->obj as $ item ){
232+ if (!$ keepinner ){
233+ $ item ->parentNode ->removeChild ($ item );
234+ } else {
235+ while ($ item ->firstChild instanceof DOMNode) {
236+ $ item ->parentNode ->insertBefore ($ item ->firstChild , $ item );
237+ }
238+ $ item ->parentNode ->removeChild ($ item );
236239 }
237- $ item ->parentNode ->removeChild ($ item );
240+ }
241+ } else {
242+ foreach ($ this ->obj as $ attr ){
243+ $ attr ->parentNode ->removeAttribute ($ attr ->nodeName );
238244 }
239245 }
240246
@@ -253,15 +259,15 @@ public function unwrap(){
253259
254260 private function breakUp ($ tag , &$ html , &$ keys , &$ vals , &$ attrs ){
255261
256- $ html = preg_replace_callback (
257- '/([^=<>\s]*)=[ \'|"]([^=]*)[ \'|"]/ ' ,
262+ $ html = preg_replace_callback (
263+ '/([^=<>\s]*)=[ \'|"]([^=]*)[ \'|"]/ ' ,
258264 function ($ m ){
259265 return "{$ m [1 ]} => {$ m [2 ]}] " ;
260266 },
261267 $ html
262268 );
263269 $ html = preg_replace (
264- ["/ $ tag/ " , "/[^=]>/ " , "/</ " , "/\// " ],
270+ ["/ $ tag/ " , "/[^=]>/ " , "/</ " , "/\// " ],
265271 "" ,
266272 $ html
267273 );
0 commit comments