Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Html Converter Laravel Package

bicpi/html-converter

PHP library for converting HTML to plain text, ideal for generating text parts of HTML emails. Includes Simple (strip_tags), Lynx (best results, keeps links), Html2Text, and Chain converter to pick the first available backend.

View on GitHub
Deep Wiki
Context7

bicpi's HtmlConverter library

HtmlConverter is a PHP library that provides easy HTML-to-Text conversion. This is useful, for example, for automatically creating plain text parts of HTML emails.

Build Status

Usage

  1. Create converter
  2. Call ->convert($html) method
  3. Enjoy returned plain text

SimpleConverter

The SimpleConverter works on every PHP enabled system by using PHP's strip_tags() function and putting some HTML entity decoding on top.

<?php

use bicpi\HtmlConverter\Converter\SimpleConverter;

$html = '... <h1>... you HTML content ...</h1> ...';
$converter = new SimpleConverter();
$plain = $converter->convert($html);

LynxConverter

The LynxConverter works on every system with the lynx text browser package installed. The converted plain text is equivalent to what you would see when opening the HTML in lynx. This is currently the most useful converter as it provides the best results and includes all links as references.

<?php

use bicpi\HtmlConverter\Converter\LynxConverter;

$html = '... <h1>... you HTML content ...</h1> ...';
$converter = new LynxConverter();
$plain = $converter->convert($html);

Html2TextConverter

The Html2TextConverter works on every system with the html2text package installed. The converted plain text is equivalent to what you would see when passing the HTML on the command line to the html2text command. The result is quite nice but be aware that links will be removed. Hence, this should not be used for converting a whole web page or marketing email. May be useful for small chunks of HTML code.

<?php

use bicpi\HtmlConverter\Converter\Html2TextConverter;

$html = '... <h1>... you HTML content ...</h1> ...';
$converter = new Html2TextConverter();
$plain = $converter->convert($html);

ChainConverter

The ChainConverter offers converter chaining so that the first appropriate converter will handle the conversion.

<?php

use bicpi\HtmlConverter\Converter\ChainConverter;
use bicpi\HtmlConverter\Converter\LynxConverter;
use bicpi\HtmlConverter\Converter\SimpleConverter;

$html = '... <h1>... you HTML content ...</h1> ...';
$converter = new ChainConverter();
$converter->addConverter(new LynxConverter());
$converter->addConverter(new SimpleConverter());
$plain = $converter->convert($html);

In the above example the conversion will be handled by the LynxConverter - provided that the lynx package is available. If not, the SimpleConverter will be used as a fallback. This for instance would be useful when deploying to a machine without lynx installed but a development machine without the package - e.g. Windows.

Running unit tests

To setup and run tests follow these steps:

  1. Go to the root directory of this library
  2. Run: composer install
  3. Run: ./vendor/bin/phpunit
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log