'。
要去除没有 Markdown 等效项的 HTML 标签,同时保留其中的内容,请将 'strip_tags' 设置为 true,如下所示:
```php
$converter = new HtmlConverter(array('strip_tags' => true));
$html = '
Turnips!';
$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
```
Or more explicitly, like this:
```php
$converter = new HtmlConverter();
$converter->getConfig()->setOption('strip_tags', true);
$html = '
Turnips!';
$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
```
请注意,只有标签本身会被剥离,它们所包含的内容不会被剥离。
要剥离标记及其内容,请在 'remove_nodes' 中传递一个以空格分隔的标记列表,如下所示:
```php
$converter = new HtmlConverter(array('remove_nodes' => 'span div'));
$html = '
Turnips!Monkeys!
';
$markdown = $converter->convert($html); // $markdown now contains ""
```
默认情况下,所有注释都会从内容中去除。要保留它们,请使用 'preserve_comments' 选项,如下所示:
```php
$converter = new HtmlConverter(array('preserve_comments' => true));
$html = '
Turnips!';
$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
```
要仅保留特定注释,请使用 String 数组设置 'preserve_comments',如下所示:
```php
$converter = new HtmlConverter(array('preserve_comments' => array('Eggs!')));
$html = '
Turnips!';
$markdown = $converter->convert($html); // $markdown now contains "Turnips!"
```
默认情况下,占位符链接将被保留。要去除占位符链接,请使用 'strip_placeholder_links' 选项,如下所示:
```php
$converter = new HtmlConverter(array('strip_placeholder_links' => true));
$html = '
Github';
$markdown = $converter->convert($html); // $markdown now contains "Github"
```
### 样式选项
默认情况下,粗体标记使用星号语法进行转换,斜体标记使用带下划线的语法进行转换。使用 'bold_style' 和 'italic_style' 选项来更改这些。
```php
$converter = new HtmlConverter();
$converter->getConfig()->setOption('italic_style', '*');
$converter->getConfig()->setOption('bold_style', '__');
$html = '
Italic and a
bold';
$markdown = $converter->convert($html); // $markdown now contains "*Italic* and a __bold__"
```
### 换行选项
默认情况下,'br' 标签按照 [传统 Markdown] 转换为两个空格,后跟一个换行符。将 'hard_break' 设置为 'true' 以省略两个空格,如 GitHub Flavored Markdown (GFM)。
```php
$converter = new HtmlConverter();
$html = '
test
line break
';
$converter->getConfig()->setOption('hard_break', true);
$markdown = $converter->convert($html); // $markdown now contains "test\nline break"
$converter->getConfig()->setOption('hard_break', false); // default
$markdown = $converter->convert($html); // $markdown now contains "test \nline break"
```
### 自动链接选项
默认情况下,'a' 标签会转换为最简单的链接语法,即如果没有可用的文本或标题,则
将使用 '' 语法,而不是完整的 '[url](url)' 语法。将 'use_autolinks' 设置为 'false' 以将此行为更改为始终使用完整的链接语法。
```php
$converter = new HtmlConverter();
$html = 'https://thephpleague.com
';
$converter->getConfig()->setOption('use_autolinks', true);
$markdown = $converter->convert($html); // $markdown now contains ""
$converter->getConfig()->setOption('use_autolinks', false); // default
$markdown = $converter->convert($html); // $markdown now contains "[https://thephpleague.com](https://thephpleague.com)"
```
### 传递自定义 Environment 对象
你可以传递当前的 'Environment' 对象来自定义,即应该使用哪些转换器。
```php
$environment = new Environment(array(
// your configuration here
));
$environment->addConverter(new HeaderConverter()); // optionally - add converter manually
$converter = new HtmlConverter($environment);
$html = 'Header
';
$markdown = $converter->convert($html); // $markdown now contains "### Header" and "
"
```
### 表格支持
默认情况下不启用对 Markdown 表的支持,因为它不是原始 Markdown 语法的一部分。要使用表,请显式添加转换器:
```php
use League\HTMLToMarkdown\HtmlConverter;
use League\HTMLToMarkdown\Converter\TableConverter;
$converter = new HtmlConverter();
$converter->getEnvironment()->addConverter(new TableConverter());
$html = "";
$markdown = $converter->convert($html);
```
### 限制
- 不支持 Markdown Extra、MultiMarkdown 和其他变体 - 仅支持 Markdown。
### Style notes
- 别名(带下划线)标题是 H1 和 H2 的默认标题。如果你更喜欢 H1 和 H2 的 ATX 样式(# Header 1 和 ## Header 2),当你实例化对象时,在 options 数组中将 'header_style' 设置为 'atx':
'$converter = new HtmlConverter(array('header_style'=>'atx'));'
H3 优先级及更低优先级的 Headers 始终使用 atx 样式。
- 链接和图像是内联引用的。不使用脚注引用(其中 image src 和 anchor href 属性在脚注中列出)。
- 块引用不是换行的 – 它使转换后的 Markdown 更易于编辑。