Welcome to Our Community

Registration on our forums are now open for some days! Feel free to sign up today.

Post Content Find / Replace 1.0.0

Allows an administrator to do a regular expression find and replace in the content of all posts.

  1. Enigma
    This is a very simple add-on I put together in order to allow an administrator to do a regular expression find and replace in the content of all posts.

    It was written in order to find all instances of a custom BB code tag for embedding YouTube video in an imported posts, and convert them to XenForo's [media=youtube] tag automatically.

    The interface is simple - you have three text fields and a checkbox.

    post-content-find-replace.png

    The first is a simple text search, which helps to narrow down the number of posts that will be searched with the regular expression.

    The second field should contain a full and valid PCRE regular expression, including flags and terminators.

    The third field will be used to determine the replacement text.

    The checkbox is used to switch between testing and commit mode. Unchecked, the replacements will be displayed but not saved.

    Example usage to convert from
    Code:
    [ video="http://www.youtube.com/watch?v=ZSW4LDAHIeU"]Video title here[/video ]
    to
    Code:
    [media=youtube]ZSW4LDAHIeU[/media]
    Quick Find:
    Code:
    [video
    Regular Expression:
    Code:
    #\[video=youtube;([^\]]+)\]([^\[]+)\[/video\]#siU
    Replacement String:
    Code:
    [media=youtube]\1[/media]

    Limitations:
    1. The system will not check that your regular expression is valid, or that it matches. It will fall over if your expression does not compile, and it will simply not match anything if the logic is incorrect.
    2. There is no batch processing in this add-on, so if you are replacing something that occurs ina lot of posts, this could be very slow and might time-out.
    So, given those limitations, I may as well release it seeing as it's written now. It might serve as a useful tutorial in creating an add-on anyway.


    Enjoy.