Git Product home page Git Product logo

Comments (5)

hivokas avatar hivokas commented on May 24, 2024

I'm seeing this issue as well.

> (new \Tiptap\Editor(['content' => '<p>List:</p><ul><li><p>bullet</p><ol><li><p>one</p></li></ol></li></ul>']))->getJSON()
= "{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"List:"}]},{"type":"bulletList","content":[{"type":"listItem","content":[{"type":"paragraph","content":[{"type":"paragraph","content":[{"type":"text","text":"bullet"}]},{"type":"orderedList","content":[{"type":"listItem","content":[{"type":"paragraph","content":[{"type":"text","text":"one"}]}]}]}]}]}]}]}"

> (new \Tiptap\Editor(['content' => '<p>List:</p><ul><li><p>bullet</p><ol><li><p>one</p></li></ol></li></ul>']))->getHTML()
= "<p>List:</p><ul><li><p><p>bullet</p><ol><li><p>one</p></li></ol></p></li></ul>"

Note how <p>bullet</p> becomes <p><p>bullet</p>.

from tiptap-php.

hivokas avatar hivokas commented on May 24, 2024

Similarly to @Coding-Kiwi, I've also noticed this issue while trying to migrate from HTML to JSON TipTap doc.

from tiptap-php.

hivokas avatar hivokas commented on May 24, 2024

@timoisik if you can take a look at this issue when you have time, it would be great.

from tiptap-php.

lukasleitsch avatar lukasleitsch commented on May 24, 2024

I have the same issue with the sanitize method. Example:

$string = "<p>An example</p><ul><li><p>list item a</p><ul><li><p>list item b</p></li></ul></li></ul>";

$sanitizedHtml = (new Tiptap\Editor)->sanitize($string);

// output: <p>An example</p><ul><li><p><p>list item a</p><ul><li><p>list item b</p></li></ul></p></li></ul>

from tiptap-php.

lukasleitsch avatar lukasleitsch commented on May 24, 2024

The workaround from @Coding-Kiwi in #2 (comment) solves the issue for me at this moment:

class TipTapListItem extends \Tiptap\Nodes\ListItem
{
    public static function wrapper($DOMNode)
    {
        return null;
    }
}

$string = "<p>An example</p><ul><li><p>list item a</p><ul><li><p>list item b</p></li></ul></li></ul>";

$sanitizedHtml = (new Tiptap\Editor([
        'extensions' => [
            new Tiptap\Extensions\StarterKit([
                'listItem' => false,
            ]),
            new TipTapListItem(),
        ],
    ]))->sanitize($string)

from tiptap-php.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.