View Full Version : regular expressions for post

05 Mar 2008, 15:17
Would be very glad if someone could help me.
Hi have 3 question about using regular expressions in vbulletin, basically questions are how to do this ? :)
1. I would like to run all posts through some regular expressions set, and later do the same to post with id greater than last id from previous run. So I could set up some cron task to run weekly and change some words to links etc.

2. I'd like to run certain regexps set every time user is opening post.
3. I'd like to run certain regexps set every time user click "submit post" or edit button.

I'm sure some of you had similiar porblems, so maybe there are ready to use solutions.


05 Mar 2008, 16:01
Yeah you can run a regex against the posts, but to conserve process resources I'd probably run the regular expression on the creation of the post rather than on an entire set of data resulting in extra queries.

05 Mar 2008, 16:12
Yeah I believe the best way is to run all posts through regexps and then put it to the creation process. But my question is, how to do it? I'm not very familiar with php and vbulletin programming, but it's not a problem, as I was doing some perl last months. The only problem is where should I put the code ? :). I believe first task should be done in seperate script, but which php script is coding post creating process?

05 Mar 2008, 16:59
Actually with the implementation of the hook/plugin system you can process PHP code dynamically through the AdminCP. Goto..

AdminCP -> Plugins & Products -> Plugin Manager

If you add a plugin, you can fire off from a selected hook. I believe the hook you want for the process on a new post which would be "newpost_process". The variable that contains the post content is $post['message']. If you modify the post message remember that you also need to reset it within the datamanager. So after you perform your process you must run..


05 Mar 2008, 23:34
Wow, never been playing with plugins in vbulletin, but looks like it's quiet smart idea :)
Thanks for help.