Mysql
使用 SQL 重命名表中所有出現的 HTML 類名
在 CMS 的 MYSQL 數據庫中,所有出現的特定 HTML 類名都應預先固定。假設感興趣的表是
table_article
,並且該表中的 HTML 程式碼是這樣的:<div> <p class="myclass someotherclass1 someotherclass2">Some text.</p> <p class="someotherclass1 myclass someotherclass2">Some more text that contains the class name not as class, but as text: myclass</p> </div>
因此,SQL 語句應該將類名“myclass”重命名為“prefix-myclass” ,只要它可能作為 HTML 類名出現,但當它不是類名時不重命名字元串的出現:
<div> <p class="prefix-myclass someotherclass1 someotherclass2">Some text.</p> <p class="someotherclass1 prefix-myclass someotherclass2">Some more text that contains the class name not as class, but as text: myclass</p> </div>
這種操作的 SQL 語句是什麼?
編輯:HTML 類可能不僅出現在
標籤,它們可以出現在每個可能的 HTML 標籤中。
SELECT html, REGEXP_REPLACE(html, '(<p .*class.*"| )myclass(.*[^p]>)', '$1prefix-myclass$2') FROM test
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=e675fc3259589daa5231996b506553a4