HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Please upgrade here. These earlier versions are no longer being updated and have security issues.

From SMF to Vanilla 2.1 - how to clean up BBC code?

edited January 2015 in Vanilla 2.0 - 2.8

Hi there. I managed to migrate from SMF to Vanilla. Everything went smooth and works right. However SMF had a different BBC so a lot of code is broken.

For example SMF BBC code that Vanilla can't recognize: [quote user link=topic=4802.msg75195#msg75195 date=1368315281]

Now my question is, if anyone has done this before, how to clean up that code through sql? It's easy to sql update just clean bbc as [qoute] but the problem is the parameters inside as user or link, the mumbo-jumbo part as it can be seen above.

Anyone knows how to clean this up in best manner?

Comments

  • x00x00 MVP
    edited January 2015

    The fastest way to clean it is to use regular expressions, on a sql dump file. Doing against table columns is also possible but issue might be in multiple places.

    BBC is not a standard, so naturally you are going to get some differences.

    grep is your friend.

  • that just a parser, it doesn’t necessarily parse this sort of bb code.

    grep is your friend.

  • edited January 2015

    @Anonymoose thanks for input, however i need to manipulate the data in sql that is formatted as: [quote user link=topic=4802.msg75195#msg75195 date=1368315281]

    As @x00 said i would need to use regular expressions which i'm kind of aware i should but i was just hoping someone already did the same thing and has already written reg code replacement for smf because it will take me a while to write it.

  • x00x00 MVP
    edited January 2015

    regular expression

    \[quote\ ([^ ]+) link=[^\]]+\]

    replace

    [quote="\1"]

    or

    [quote="$1"]

    myslq doesn’t have an internal regex replace. by you can create a function or do text replace on a dump.

    grep is your friend.

    Bleistivt
  • AnonymooseAnonymoose ✭✭
    edited January 2015

    @x00 said:
    that just a parser, it doesn’t necessarily parse this sort of bb code.

    Those perl modules converts to html as well.

  • yes but it doesn’t help him, there isn't a bbcode standard, he is not looking for a generic bbcode parser.

    grep is your friend.

  • AnonymooseAnonymoose ✭✭
    edited January 2015

    Here is a php implementation of a converter with a SMF code to html function.
    All the regexes for SMF specific bbcode are at the end.

    https://bbpress.trac.wordpress.org/attachment/ticket/2380/SMF.3.php

  • LincLinc Detroit Admin

    I strongly recommend against using regex parsing except as a last resport. Try this addon:

    http://vanillaforums.org/addon/nbbc-plugin

  • edited January 2015

    First thank you all for your input. @Linc unfortunately the plugin did work but also messed other things up in a sense that it actually did recognize and ignore dynamic generated smf quote bbc however it failed to recognize / br tags on example so it made it look quite a mess so i guess that isn't the option for now.

    @Anonymoose thanks for that code i bookmarked it as a possible solution, i guess i'll have to get that sorted out on that way maybe thought guess it's going to be complicated a bit.

    @x00 yes if it was generic i would just run few sql queries and problem would be sorted with ease.

    I have over 4k topics and 100k posts so i need to sort this thing out. Hope Google won't penalize my site for broken bbc.

Sign In or Register to comment.