Autor Zpráva
Pedroo
Profil *
Dobrý večer,

Mám menší problém s funkčností funkce pro spárování neukončených HTML tagů.
Příklad: ->Mělo by ukončit neukončený HTML tag <b>
<b>Lorem</b> <b>ipsum.


Zkusil jsem použít následující funkci:
<?php
function pair_tag($string) {
$tags = Array('em','i','b','strong','div','span','p');
//array of tags we will keep paired, you may add another
foreach($tags as $tag) {

$opentag     = substr_count($string, '<'.$tag);
// I don't put > in the opentag in case they may have an attribute
$closetag     = substr_count($string, '</'.$tag.'>');

if($opentag !== $closetag) {
$return .= str_repeat('</'.$tag.'>', ($opentag-$closetag));
}
}
return $return;
}

echo pair_tag('<b>Lorem</b> <b>ipsum.');
?>


Ale nevypíše to prozměnu vůbec nic.
SwimX
Profil
Pedroo:
mě to vypíše to co má : </b>
zřejmě jsi chtěl:
return $return;
mít
return $string.$return;
mattyZEM
Profil
Udělal bych to jinak...
<?php
$unclosed=$opentags-$closetags;
for($i=0;$i<$unclosed;$i++) {
$prom.='</'.$tag.'>';
}
?>
SwimX
Profil
mattyZEM:
a proč? Výsledek bude stejný.
navíc to neřeší Pedrůův problém, že mu funkce vrací pouze koncové taky, takže to nevypíše "nic".
Pedroo
Profil *
SwimX:
Děkuji, nyní už to vypisuje správně.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0