WP VeriteCo Timeline
preg_replace "\v" not working (2 posts)

  1. mrbinky3000
    Posted 2 years ago #

    A simple dash in the text was causing the text for an entry to not be displayed. I commented out lines 48 and 49 and the problem went away. This is the string I tried to enter into the WYSIWYG for the timeline custom post type.

    In my day, there was only one show in town -- it was called "Stare at the sun!" ... That's right!

    $text = apply_filters('the_content', $post->post_content);
    // $text = preg_replace('/\v+|\\\[rn]/','',$text);
    // $text = $this->undoTexturize($text);

    \v actually replaced instances of the character "v" and not vertical whitespace characters as intended. I think there is an issue in PHP where \R and \v don't work as expected when run in classes. Rethink the \v. I have php 5.3 and \v was introduced in 5.2, so my version of PHP is not the issue.

    Also undoTexturize was causing non-utf8 characters to show up as that annoying black diamond on the front end. Rethink that filtering process. json_encode takes care of a lot of stuff directly. I think you're overthinking the filtering.


  2. Josh Eaton
    Plugin Author

    Posted 2 years ago #

    Thanks for reporting this. I've replaced the vertical whitespace with a simpler replace in version 1.1.2. Now that I think about it, the regex might just have an issue because \v should be in brackets: [\v]+. Not sure whether that's as important as just replacing line breaks.

    I haven't had a chance to test the effects of undoTexturize so I've left that in for now.

    Pull requests are always welcome: https://github.com/jjeaton/wp-veriteco-timeline/

Topic Closed

This topic has been closed to new replies.

About this Plugin

  • WP VeriteCo Timeline
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic


No tags yet.