PDA

View Full Version : Massive BB Code replacement by MySQL query


Dr. Katz
03-02-2010, 11:24 AM
Hello,

Forcing use of the new 'Insert Video' functionality, I replace my old video_id tags in posts executing this query on MySQL:

update post set pagetext = Replace(pagetext,'','http://www.youtube.es/watch?v=');
update post set pagetext = Replace(pagetext,'','');

But now, it's not appearing the embedded player till I manually edit each post. I noticed that the new code that is generated after editing looks like this:

http://www.youtube.com/watch?v=video_id

Therefore, for embedded player displaying I must expand the [video] tag with the parameters in bold, but I don't know what query I should run in mysql to capture the appropiate video_id from the URL...

I saw something like this (http://www.vbulletin.com/forum/showthread.php?306316-very-messy-BBcode-cleanup-need-cleaner-help), but I think it's not the case...

Thanks for your help!!!

Thr33
03-04-2010, 08:30 AM
ahhh, you see when you watch a youtube video via the host website it uses "/watch?v=" but to embed it you use "/watch/v/". i still use my own youtube bbcode which looks like this:

<embed src="http://www.youtube.com/watch/v/{param}" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed>

i suppose you could make this more user-friendly by allowing members to add whole youtube link and replacing the code above to correct it for embedding.

eJM
03-06-2010, 09:43 PM
update post set pagetext = Replace(pagetext,'','http://www.youtube.es/watch?v=');
update post set pagetext = Replace(pagetext,'','');
I have a question regarding your query that doesn't have anything to do with videos, but does have something to do with the text or a URL in a lot of posts. I found this topic via Google because of my particular issue, so others may come to find a similar solution. I hope you can help.

I understand the query to run in the vBulletin AdminCP is:
UPDATE tablename SET tablefield = replace(tablefield,"findstring","replacestring");

My table name is tfppost (I use table prefixes), but I wasn't sure I knew what the tablefield was called. You call it pagetext, but I would like to know if the table prefix applies to this as well. I'm very hesitant to run the query for fear of botching it until I have all the syntax down pat. I do have database backups, but that's a hassle I'd like to avoid by making the query right the first time around. I am trying to change a URL (not the BBCode, just the URL inside the BBCode).

Thank you for any guidance.

Jim