move function deletenode() to the xml class
This commit is contained in:
parent
c96a53b4b4
commit
56e38dd6bd
|
@ -12,6 +12,7 @@ use \Friendica\Core\Config;
|
|||
require_once("include/network.php");
|
||||
require_once("include/Photo.php");
|
||||
require_once("include/oembed.php");
|
||||
require_once("include/xml.php");
|
||||
|
||||
/**
|
||||
* @brief Class with methods for extracting certain content from an url
|
||||
|
@ -184,17 +185,17 @@ class ParseUrl {
|
|||
$doc = new \DOMDocument();
|
||||
@$doc->loadHTML($body);
|
||||
|
||||
self::deleteNode($doc, "style");
|
||||
self::deleteNode($doc, "script");
|
||||
self::deleteNode($doc, "option");
|
||||
self::deleteNode($doc, "h1");
|
||||
self::deleteNode($doc, "h2");
|
||||
self::deleteNode($doc, "h3");
|
||||
self::deleteNode($doc, "h4");
|
||||
self::deleteNode($doc, "h5");
|
||||
self::deleteNode($doc, "h6");
|
||||
self::deleteNode($doc, "ol");
|
||||
self::deleteNode($doc, "ul");
|
||||
\xml::deleteNode($doc, "style");
|
||||
\xml::deleteNode($doc, "script");
|
||||
\xml::deleteNode($doc, "option");
|
||||
\xml::deleteNode($doc, "h1");
|
||||
\xml::deleteNode($doc, "h2");
|
||||
\xml::deleteNode($doc, "h3");
|
||||
\xml::deleteNode($doc, "h4");
|
||||
\xml::deleteNode($doc, "h5");
|
||||
\xml::deleteNode($doc, "h6");
|
||||
\xml::deleteNode($doc, "ol");
|
||||
\xml::deleteNode($doc, "ul");
|
||||
|
||||
$xpath = new \DomXPath($doc);
|
||||
|
||||
|
@ -440,14 +441,6 @@ class ParseUrl {
|
|||
$tag = "#" . $tag;
|
||||
}
|
||||
|
||||
private static function deleteNode(&$doc, $node) {
|
||||
$xpath = new \DomXPath($doc);
|
||||
$list = $xpath->query("//".$node);
|
||||
foreach ($list as $child) {
|
||||
$child->parentNode->removeChild($child);
|
||||
}
|
||||
}
|
||||
|
||||
private static function completeUrl($url, $scheme) {
|
||||
$urlarr = parse_url($url);
|
||||
|
||||
|
|
|
@ -1,11 +1,14 @@
|
|||
<?php
|
||||
/*
|
||||
html2bbcode.php
|
||||
Converter for HTML to BBCode
|
||||
Made by: ike@piratenpartei.de
|
||||
Originally made for the syncom project: http://wiki.piratenpartei.de/Syncom
|
||||
https://github.com/annando/Syncom
|
||||
*/
|
||||
/**
|
||||
* @file include/html2bbcode.php
|
||||
* @brief Converter for HTML to BBCode
|
||||
*
|
||||
* Made by: ike@piratenpartei.de
|
||||
* Originally made for the syncom project: http://wiki.piratenpartei.de/Syncom
|
||||
* https://github.com/annando/Syncom
|
||||
*/
|
||||
|
||||
require_once("include/xml.php");
|
||||
|
||||
function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb)
|
||||
{
|
||||
|
@ -76,15 +79,6 @@ function node2bbcodesub(&$doc, $oldnode, $attributes, $startbb, $endbb)
|
|||
return($replace);
|
||||
}
|
||||
|
||||
if(!function_exists('deletenode')) {
|
||||
function deletenode(&$doc, $node)
|
||||
{
|
||||
$xpath = new DomXPath($doc);
|
||||
$list = $xpath->query("//".$node);
|
||||
foreach ($list as $child)
|
||||
$child->parentNode->removeChild($child);
|
||||
}}
|
||||
|
||||
function _replace_code_cb($m){
|
||||
return "<code>".str_replace("\n","<br>\n",$m[1]). "</code>";
|
||||
}
|
||||
|
@ -117,12 +111,12 @@ function html2bbcode($message)
|
|||
|
||||
@$doc->loadHTML($message);
|
||||
|
||||
deletenode($doc, 'style');
|
||||
deletenode($doc, 'head');
|
||||
deletenode($doc, 'title');
|
||||
deletenode($doc, 'meta');
|
||||
deletenode($doc, 'xml');
|
||||
deletenode($doc, 'removeme');
|
||||
xml::deleteNode($doc, 'style');
|
||||
xml::deleteNode($doc, 'head');
|
||||
xml::deleteNode($doc, 'title');
|
||||
xml::deleteNode($doc, 'meta');
|
||||
xml::deleteNode($doc, 'xml');
|
||||
xml::deleteNode($doc, 'removeme');
|
||||
|
||||
$xpath = new DomXPath($doc);
|
||||
$list = $xpath->query("//pre");
|
||||
|
@ -239,7 +233,7 @@ function html2bbcode($message)
|
|||
node2bbcode($doc, 'iframe', array('src'=>'/(.+)/'), '[iframe]$1', '[/iframe]');
|
||||
|
||||
node2bbcode($doc, 'code', array(), '[code]', '[/code]');
|
||||
node2bbcode($doc, 'key', array(), '[code]', '[/code]');
|
||||
node2bbcode($doc, 'key', array(), '[code]', '[/code]');
|
||||
|
||||
$message = $doc->saveHTML();
|
||||
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file include/xml.php
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* @brief This class contain functions to work with XML data
|
||||
* @brief This class contain methods to work with XML data
|
||||
*
|
||||
*/
|
||||
class xml {
|
||||
|
@ -372,5 +373,18 @@ class xml {
|
|||
|
||||
return($xml_array);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Delete a node in a XML object
|
||||
*
|
||||
* @param object $doc XML document
|
||||
* @param string $node Node name
|
||||
*/
|
||||
public static function deleteNode(&$doc, $node) {
|
||||
$xpath = new \DomXPath($doc);
|
||||
$list = $xpath->query("//".$node);
|
||||
foreach ($list as $child) {
|
||||
$child->parentNode->removeChild($child);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue
Block a user