WireTextTools::fixUnclosedTags() method

Remove (or close) unclosed HTML tags from given string

Remove unclosed tags:

At present, if it finds an unclosed tag, it removes all tags of the same kind. This is in order to keep the function fast, by delegating what it can to strip_tags(). This is sufficient for our internal use here, but may not be ideal for all situations.

Fix/close unclosed tags:

When the remove option is false, it will attempt to close unclosed tags rather than remove them. It doesn't know exactly where they should be closed, so it appends the close tags to the end of the string.

Usage

// basic usage
$string = $wireTextTools->fixUnclosedTags(string $str);

// usage with all arguments
$string = $wireTextTools->fixUnclosedTags(string $str, bool $remove = true, array $options = []);

Arguments

NameType(s)Description
strstring
remove (optional)bool

Remove unclosed tags? If false, it will attempt to close them instead. (default=true)

options (optional)array
  • ignoreTags (array): Tags that can be ignored because they close themselves. (default=per HTML spec)

Return value

string


WireTextTools methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #550
    In the 550th issue of ProcessWire Weekly we're going to check out the latest core updates, introduce a new third party module called PagefileMetadata, and more. Read on!
    Weekly.pw / 23 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull