Bir var < bazı ul> < li> (ler). Ben
Kullanım PHP'nin DOM library, ya da bakmak Simple DOM Parser. Her ikisi de size soru ölçüde HTML manipüle ve arama için gereken her şeyi var
php's DOM module ve XPath kullanarak ilk basit bir örnek
$s = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>...</title></head><body>
<ul>
<li>1</li><li>2</li>
</ul>
<ul>
<li>1</li><li>2</li><li>3</li>
</ul>
<ul>
<li>x</li><li>y</li>
</ul>
</body></html>';
$doc = new DOMDocument;
$doc->loadhtml($s);
$xpath = new DOMXPath($doc);
foreach( $xpath->query('//ul[ count(li)<3 ]') as $ul ) {
$li = $doc->createElement('li', 'abc...xyz');
$ul->appendChild($li);
}
echo $doc->savehtml();
ve sonra ben ne demek istediğini bir basitleştirilmiş bir örneği "Ve bu işlevi yanı sıra ekstra verileri dahil değil mi?"
echo firstFunction(array('a'), 'secondFunction');
function firstFunction($arrData, $fnFill=null) {
$rv = '';
$counter = 0;
foreach($arrData as $e) {
$counter += 1;
$rv .= '<li>'.htmlspecialchars($e).'</li>';
}
if ( 4 > $counter && !is_null($fnFill)) {
// oh no. Not enough elements. Let's call $fnFill(), it provides some filler material
$rv .= $fnFill();
}
return $rv;
}
// providing extra li elements
function secondFunction() {
return '<li>x</li><li>y</li><li>z</li>';
}