WordPress adds br in between my shortcode

I am having a problem where my markup is rendered incorrectly (more space because of <br />) as WordPress adds <br /> everywhere theres a line break

eg.

Read More
[x]
  [y]Hello world[/y]
  [y]A test[/y]
[/x]

In the handler for x the $content looks like

<br />
[y]Hello world[/y]
<br />
[y]A test[/y]
<br />

Am I suppose to strip out all the line breaks?

UPDATE

I notice that no line breaks

[x][y]Photoshop[/y][y]Notepad++[/y][/x]

[y]Notepad++[/y] will not be rendered as a shortcode. I must have a space like

[x][y]Photoshop[/y] [y]Notepad++[/y][/x]
                   ^

Isit?

Related posts

Leave a Reply

5 comments

  1. before you register your shortcode, add the filter to the content for unautop:

    add_filter( 'the_content', 'shortcode_unautop' );
    

    Do this also for the areas, maybe excerpt or widget, when your shortcode add to this areas.

  2. There shouldn’t be any br tags by default ! but if you are getting any in your content without even using them try adding esc_attr or esc_html before returning the variables that holds the values of your shortcode