Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #23111

baco di PHP?

From Sandro kensan <kensan@kensan.it>
Newsgroups it.comp.www.php
Subject baco di PHP?
Date 2024-03-05 01:17 +0100
Message-ID <l4n6keF5lm6U1@mid.individual.net> (permalink)

Show all headers | View raw


Ho un problema con il mio sito e per isolarlo ho ridotto il codice 
all'osso e ho individuato qualche cosa che non mi sarei mai immaginato. 
questo il codice molto semplice:


$strHTML = '<html><head><title>xx</title></head><body>
Contenuto di esempio.<br><br><br></body></html>';

echo strip_br($strHTML); //toglie gli ultimi <br>


$strHTML = '<html><head><title>xx</title></head><body>
Contenuto di esempio.<br><br><br>
</body></html>';

echo strip_br($strHTML); //toglie gli ultimi <br>


A parte la funzione "strip_br" quel che è sbalorditivo è che il 
risultato è diverso per le due $strHTML:

<html><head><title>xx</title></head><body>
Contenuto di esempio.</body></html>

<html><head><title>xx</title></head><body>
Contenuto di esempio.<br><br><br>
</body></html>

Come si può vedere con il file php:

https://www.kensan.it/pp.php

ora il codice che strippa gli ultimi <br> è banale:

function strip_br($strHTML) {
		// Carica la stringa HTML nel DOMDocument
		$dom = new DOMDocument;
		@$dom->loadHTML($strHTML);
		
		// Rimuovi i tag <br> in coda al contenuto del <body>
		$element = $dom->getElementsByTagName("body")->item(0);
		$childs = $element->childNodes;
		
		// Itera dall'ultimo al primo nodo figlio
		for ($i = $childs->length - 1; $i >= 0; $i--) {
		    $el = $childs->item($i);
		    if ($el->nodeName == "br") {
		        $el->parentNode->removeChild($el);
		    } else {
		        break; // Interrompi quando viene trovato un
                                   nodo diverso da <br>
		    }
		}
		
		// Converti il DOMDocument in una stringa
		return $dom->saveHTML();
}

Io ho PHP 7.4 sul mio server: è per caso una implementazione bacata solo 
del mio provider?

-- 
Sandro kensan www.kensan.it & www.qiqi.it geek site
Saluto gli agenti della NSA - Hello NSA - www.nsa.gov

Back to it.comp.www.php | Previous | NextNext in thread | Find similar


Thread

baco di PHP? Sandro kensan <kensan@kensan.it> - 2024-03-05 01:17 +0100
  Re: baco di PHP? Leonardo Serni <lserni@gmail.com> - 2024-03-09 19:55 +0100
    Re: baco di PHP? Sandro kensan <kensan@kensan.it> - 2024-03-10 23:44 +0100
    Re: baco di PHP? Sandro kensan <kensan@kensan.it> - 2024-03-10 23:44 +0100
      Re: baco di PHP? Leonardo Serni <lserni@gmail.com> - 2024-03-13 19:19 +0100

csiph-web