--- /dev/null
+~*
+vendor
+composer.lock
\ No newline at end of file
--- /dev/null
+language: php
+php:
+ - "5.5"
+ - "5.4"
+ - "5.3"
+script: phpunit --no-configuration HTML_To_MarkdownTest ./tests/HTML_To_MarkdownTest.php
\ No newline at end of file
*
* A helper class to convert HTML to Markdown.
*
- * @version 2.1.2
+ * @version 2.2.1
* @author Nick Cernis <nick@cern.is>
* @link https://github.com/nickcernis/html2markdown/ Latest version on GitHub.
* @link http://twitter.com/nickcernis Nick on twitter.
*
* Is the node a child of the given parent tag?
*
- * @param $parent_name string The name of the parent node to search for (e.g. 'code')
+ * @param $parent_name string|array The name of the parent node(s) to search for e.g. 'code' or array('pre', 'code')
* @param $node
* @return bool
*/
if (is_null($p))
return false;
+ if ( is_array($parent_name) && in_array($p->nodeName, $parent_name) )
+ return true;
+
if ($p->nodeName == $parent_name)
return true;
}
private function convert_children($node)
{
// Don't convert HTML code inside <code> and <pre> blocks to Markdown - that should stay as HTML
- if (self::is_child_of('pre', $node) || self::is_child_of('code', $node))
+ if (self::is_child_of(array('pre', 'code'), $node))
return;
// If the node has children, convert those to Markdown first
$markdown = '[' . $text . '](' . $href . ')';
}
+ if (! $href)
+ $markdown = html_entity_decode($node->C14N());
+
// Append a space if the node after this one is also an anchor
$next_node_name = $this->get_next_node_name($node);
$markdown = '';
- $code_content = html_entity_decode($this->document->saveHTML($node));
+ $code_content = html_entity_decode($node->C14N());
$code_content = str_replace(array("<code>", "</code>"), "", $code_content);
$code_content = str_replace(array("<pre>", "</pre>"), "", $code_content);
[![Build Status](https://travis-ci.org/nickcernis/html-to-markdown.png?branch=master)](https://travis-ci.org/nickcernis/html-to-markdown)
-**Version**: 2.2.0
+**Version**: 2.2.1
**Requires**: PHP 5.3+
**Author**: [@nickcernis](http://twitter.com/nickcernis)
**License**: [MIT](http://www.opensource.org/licenses/mit-license.php)
--- /dev/null
+test:
+ override:
+ - phpunit --no-configuration HTML_To_MarkdownTest ./tests/HTML_To_MarkdownTest.php
+
--- /dev/null
+{
+ "name": "nickcernis/html-to-markdown",
+ "type": "library",
+ "description": "An HTML-to-markdown conversion helper for PHP",
+ "keywords": ["markdown", "html"],
+ "homepage": "https://github.com/nickcernis/html-to-markdown",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Nick Cernis",
+ "email": "nick@cern.is",
+ "homepage": "http://modernnerd.net"
+ }
+ ],
+ "autoload": {
+ "classmap": [ "HTML_To_Markdown.php" ]
+ },
+ "require": {
+ "php": ">=5.3"
+ },
+ "require-dev": {
+ "php": ">=5.3.3",
+ "phpunit/phpunit": "4.*"
+ }
+}
--- /dev/null
+language: php
+
+php:
+ - 5.6
+ - 5.5
+ - 5.4
+ - 5.3
+ - hhvm
--- /dev/null
+{
+ "name": "erusev/parsedown",
+ "description": "Parser for Markdown.",
+ "keywords": ["markdown", "parser"],
+ "homepage": "http://parsedown.org",
+ "type": "library",
+ "license": "MIT",
+ "authors": [
+ {
+ "name": "Emanuil Rusev",
+ "email": "hello@erusev.com",
+ "homepage": "http://erusev.com"
+ }
+ ],
+ "autoload": {
+ "psr-0": {"Parsedown": ""}
+ }
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit bootstrap="test/bootstrap.php" colors="true">
+ <testsuites>
+ <testsuite>
+ <file>test/ParsedownTest.php</file>
+ </testsuite>
+ </testsuites>
+</phpunit>
\ No newline at end of file