diff --git a/drupal2wp-toolkit.php b/drupal2wp-toolkit.php
index 4e63db2..6ec89d3 100644
--- a/drupal2wp-toolkit.php
+++ b/drupal2wp-toolkit.php
@@ -306,30 +306,30 @@
libxml_use_internal_errors(true);
$doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
libxml_clear_errors();
-
+
$body = $doc->getElementsByTagName('body')->item(0);
$output = '';
-
+
foreach ($body->childNodes as $node) {
$output .= $this->convert_node_to_block($node);
}
-
+
return $output;
}
-
+
private function convert_node_to_block($node)
{
if ($node instanceof DOMText) {
$text = trim($node->wholeText);
return $text !== '' ? "\n
{$text}
\n\n\n" : '';
}
-
+
if (!($node instanceof DOMElement)) {
return '';
}
-
+
$tag = strtolower($node->tagName);
-
+
// ๐ผ Image handler
if ($tag === 'img') {
$src = $node->getAttribute('src');
@@ -337,7 +337,7 @@
$html = '
';
return "\n{$html}\n\n\n";
}
-
+
// ๐ Image wrapped in
if ($tag === 'a' && $node->getElementsByTagName('img')->length > 0) {
$img = $node->getElementsByTagName('img')->item(0);
@@ -347,7 +347,7 @@
$html = '
';
return "\n{$html}\n\n\n";
}
-
+
// ๐งฑ Recognize div and process its children recursively
if ($tag === 'div') {
$content = '';
@@ -359,13 +359,13 @@
if ($tag === 'table') {
$innerHTML = $node->ownerDocument->saveHTML($node);
-
+
// Optional: sanitize or restructure table HTML here
-
+
return "\n{$innerHTML}\n\n\n";
}
-
-
+
+
// ๐งพ Generic block mapping
$innerHTML = $node->ownerDocument->saveHTML($node);
switch ($tag) {
@@ -384,144 +384,6 @@
return "\n{$innerHTML}\n\n\n";
}
}
-
-
- // private function convert_to_blocks($html)
- // {
- // $doc = new DOMDocument();
- // libxml_use_internal_errors(true);
- // $doc->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
- // libxml_clear_errors();
-
- // $body = $doc->getElementsByTagName('body')->item(0);
- // $output = '';
-
- // // foreach ($body->childNodes as $node) {
- // // if (!($node instanceof DOMElement)) {
- // // continue;
- // // }
-
- // // // Check if this node (or its children) contain an
- // // $img_tag = $node->getElementsByTagName('img')->item(0);
-
- // // if ($img_tag) {
- // // // Extract src and alt
- // // $src = $img_tag->getAttribute('src');
- // // $alt = $img_tag->getAttribute('alt') ?: '';
-
- // // // Check for a wrapping
- // // $link = $node->getElementsByTagName('a')->item(0);
- // // $image_html = '
';
-
- // // if ($link) {
- // // $href = $link->getAttribute('href');
- // // $image_html = '' . $image_html . '';
- // // }
-
- // // // Wrap in figure block
- // // $figure = '' . $image_html . '';
-
- // // $output .= "\n" . $figure . "\n\n\n";
- // // continue;
- // // }
-
- // // // Render other HTML blocks
- // // $innerHTML = $doc->saveHTML($node);
-
- // // // Fix insecure YouTube embeds
- // // $innerHTML = preg_replace(
- // // '#src=["\']http://(www\.)?youtube\.com#i',
- // // 'src="https://www.youtube.com',
- // // $innerHTML
- // // );
-
- // // switch ($node->nodeName) {
- // // case 'p':
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // case 'ol':
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // case 'ul':
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // case 'h2':
- // // case 'h3':
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // case 'blockquote':
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // default:
- // // $output .= "\n{$innerHTML}\n\n\n";
- // // break;
- // // }
- // // }
-
- // foreach ($body->childNodes as $node) {
- // if (!($node instanceof DOMElement)) {
- // continue;
- // }
-
- // // ๐ผ Render all images first
- // $img_tags = $node->getElementsByTagName('img');
- // if ($img_tags->length > 0) {
- // foreach ($img_tags as $img_tag) {
- // $src = $img_tag->getAttribute('src');
- // $alt = $img_tag->getAttribute('alt') ?: '';
-
- // // Check for wrapping
- // $link = $img_tag->parentNode instanceof DOMElement && $img_tag->parentNode->nodeName === 'a'
- // ? $img_tag->parentNode
- // : null;
-
- // $image_html = '
';
- // if ($link) {
- // $href = $link->getAttribute('href');
- // $image_html = '' . $image_html . '';
- // }
-
- // $figure = '' . $image_html . '';
- // $output .= "\n" . $figure . "\n\n\n";
- // }
- // }
-
- // // ๐ก Continue with other content
- // $innerHTML = $doc->saveHTML($node);
-
- // // Fix insecure embeds
- // $innerHTML = preg_replace(
- // '#src=["\']http://(www\.)?youtube\.com#i',
- // 'src="https://www.youtube.com',
- // $innerHTML
- // );
-
- // switch ($node->nodeName) {
- // case 'p':
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // case 'ol':
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // case 'ul':
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // case 'h2':
- // case 'h3':
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // case 'blockquote':
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // default:
- // $output .= "\n{$innerHTML}\n\n\n";
- // break;
- // }
- // }
-
-
- // return $output;
- // }
}
WP_CLI::add_command('drupal-import', 'Drupal_Import_Command');