2

通常、検索して置換するときは、次のコードを使用します。

UPDATE wp_posts SET post_content = REPLACE (post_content, 'old string', 'new string');

今私<h1>Title</h1><table>...<h1>Title</h1>...</table>

問題はもちろん、タグ間のテキストがすべてのページで異なることです(これはwordpressのホームページです)。

これを解決する方法についてのアイデアはありますか? 出来ますか?

4

3 に答える 3

1

これを試して、列を更新し、すべてのレコードにテキストを追加してください

UPDATE wp_posts SET post_content = `<table>`+ post_content+`</table>` ;
于 2012-10-04T09:47:34.523 に答える
1

タグを最初と最後に配置するだけでよい場合は、<table>...</table>Anant Dabhi のソリューションを使用してください。ただし、それよりもスマートに何かを行う必要がある場合、SQL は実際には適切なツールではありません。

HTML の単純化された処理には多くの問題があります。

  1. 探しているタグがコメント内に存在する場合はどうなりますか?
  2. <h1>タグに属性が含まれている場合はどうなりますか?
  3. 投稿内に複数の投稿がある場合はどうなり<h1>...</h1>ますか?

潜在的な問題は延々と続きます。

WordPress を使用しているので、実際の HTML パーサーにアクセスできる PHP を使用してみませんか? このディスカッションから始めることができます:

PHP で HTML/XML をどのように解析して処理しますか?

于 2012-10-04T10:39:55.110 に答える
0

この2つの更新ステートメントは、あなたがするのに役立ちます

UPDATE wp_posts 
 SET post_content = REPLACE (post_content, '<h1>', '<table><h1>');

 UPDATE wp_posts 
 SET post_content = REPLACE (post_content, '</h1>', '</table></h1>');
于 2012-10-04T09:50:43.687 に答える