Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #23111
| 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) |
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 | Next — Next in thread | Find similar
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