HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
how to update pre tag to code tag in DB
jackmaessen
✭✭✭
In vanilla 2.1 i did use geshi for syntaxhighlighting. In 2.2 i want to use creativesyntaxhighlighter for it.
In geshi, all the code is between pre tags like below:
<pre lang="html" line="1">code goes here</pre>
same for php, js and css
In creativesyntax i use the code tag to highlight:
<code lang="html"> code goes here</code>
same for php, js and css
How can i update all the <pre lang="html" line="1"></pre>
to <code lang="html></code>
i already tried to run this but without success: UPDATE GDN_Comment SET Body = '<code lang="php">' WHERE Body = '<pre lang="php" line="1">';
Tagged:
0
Comments
I would dump the db to an sql file, do my replacements there, then import the SQL file.
It doesn't look like MySQL provides a regex function, but I am no MySQL expert.
Search first
Check out the Documentation! We are always looking for new content and pull requests.
Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.
UPDATE GDN_Comment SET Body = '<code lang="php">' WHERE Body = '<pre lang="php" line="1">';
This is wrong becuase you are saying the entire body is is
<pre lang="php" line="1">
, and the entire body is to be replacedYou want
UPDATE GDN_Comment SET Body = REPLACE(Body, '<pre lang="php" line="1">', '<code lang="php">') WHERE Body LIKE '%<pre lang="php" line="1">%';
The problem is with this is you don't get the full power regular expression based replace in MySQL. You can me more specific using a replace on a dump.
You are only replacing the first part, which means you will have buck of stray
</pre>
which you have to replace.<pre>
is a legit tag to use. So you could end up with a problem of unmatched closing tags.There is a good arguments which say using
<code>
like this incorrect if you want a code block it should be defined<pre><code>[code goes here]</code></pre>
and inline code just uses<code>
.grep is your friend.
Brilliant idea @hgtonight !
I dumped to DB to localhost.sql, modified all the tags with this tool: https://findandreplace.codeplex.com/
Import the sql file again and in a couple of minutes the job was done!
Thank God there is https://findandreplace.codeplex.com/
Glad you got it working @jackmaessen
Search first
Check out the Documentation! We are always looking for new content and pull requests.
Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.