Git Product home page Git Product logo

Comments (3)

 avatar commented on August 22, 2024

No I haven't. Apparently, how content editable works, it needs to have something present to work correctly.
However, I remove it server side:

$data=isset($_POST['data'])?filter_input(INPUT_POST,'data',FILTER_SANITIZE_STRING):filter_input(INPUT_GET,'data',FILTER_SANITIZE_STRING);
if(strlen($data) < 12 && $data == '<p><br></p>'){
    $data=str_replace('<p><br></p>','',$data);
}

$data is the posted data from the editors text area.

This strips the <p><br></p> server side.

I might actually have a bit of a poke around the web, and see if there's a better solution.

from summernote-cleaner.

joe6pack avatar joe6pack commented on August 22, 2024

Thank you for the response (and apologies for my delay in following up). Thanks for posting this - if you do find a solution that can be added to summernote-cleaner, that might be a nice option. If I find one, I'll be sure to make a pull request.

from summernote-cleaner.

joe6pack avatar joe6pack commented on August 22, 2024

For anyone using Summernote with Django and dealing with the same problem, my server side solution was this simple function:

def remove_summernote_breaks(text):
    unwanted_text = '<p><br></p>'
    if len(text) > 11:
        if text[:11] == unwanted_text:
            text = text[11:]
        if text[-11:] == unwanted_text:
            text = text[:-11]
    return text

Then on your models, you can extend the clean function with something like this:

class MyModel(models.Model):
    sometext = models.TextField(blank=True, null=True)
    # fields
    def clean(self):
        super(MyModel, self).clean()
        self.sometext = remove_summernote_breaks(self.desc)

There's probably a more elegant way, but this works in a basic way.

from summernote-cleaner.

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.