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.


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

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


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


WireTextTools methods and properties

API reference based on ProcessWire core version 3.0.148

Twitter updates

  • This week we’ve got a couple of really useful API-side improvements to the core in 3.0.151, including predefined image settings and static language translation improvements— More
    21 February 2020
  • New post in the blog about all the fun we had driving around a DDOS attack on our forums, how we got it back under control, and what we learned along the way. Plus PW 3.0.150 dev details and links! More
    7 February 2020
  • New post: ProcessWire core updates (January 31, 2020)— More
    31 January 2020

Latest news

  • ProcessWire Weekly #302
    In the 302nd issue of ProcessWire Weekly we're going to dig into ProcessWire 3.0.151, introduce a new third party module called PrivacyWire, and showcase some interesting ProcessWire highlights from the past week or so. Read on!
    Weekly.pw / 22 February 2020
  • ProcessWire 3.0.151 core updates
    Blog / 21 February 2020
  • 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