Php Parse Html Tags
Solution 1:
You would be looking at something like this:
<?php$content = "";
$doc = new DOMDocument();
$doc->load("example.html");
$items = $doc->getElementsByTagName('tag1');
if(count($items) > 0) //Only if tag1 items are found
{
foreach ($itemsas$tag1)
{
// Do something with $tag1->nodeValue and save your modifications$content .= $tag1->nodeValue;
}
}
else
{
$content = $doc->saveHTML();
}
echo$content;
?>
DomDocument represents an entire HTML or XML document; serves as the root of the document tree. So you will have a valid markup, and by finding elements By Tag Name you won't find comments.
Solution 2:
Another possibility is regex.
$matches = null;
$returnValue = preg_match_all('#<li.*?>(.*?)</li>#', 'abc', $matches);
$matches[0][x]
contains the whole matches such as <li class="small">list entry</li>
, $matches[1][x]
containt the inner HTML only such as list entry
.
Solution 3:
Fast way:
Look for the index position of tag1 then look for the index position of /tag1. Then cut the string between those two indexes. Look up strpos and substr on php.net Also this might not work if your string is too long.
$pos1 = strpos($bigString, '<tag1>');
$pos2 = strpos($bigString, '</tag1>');
$resultingString = substr($bigString, -$pos1, $pos2);
You might have to add and/or substract some units from $pos1 and $pos2 to get the $resultingString right. (if you don't have comments with tag1 inside of them sigh)
The right way:
Look up html parsers
Post a Comment for "Php Parse Html Tags"