Hi
i want to remove few lines in my WordPress posts, this i wanna do in phpmyadmin
i have more than 4000 + posts so if i am doing manually its very difficult
any one please give give me suggestion
i know find and replace that i wanna do one by one
i am expecting to remove few blocks for example begin text to end text
waiting for earlier response
Regards
Hariprasad Vijayan answers:
Hello,
Do you want to remove lines from all this 4000 posts? Are you searching for a sql query?
This may help you if you are searching for a sql query.
http://www.mydigitallife.info/how-to-find-and-replace-text-in-mysql-database-using-sql/
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
anitha comments:
@ Hariprasad
Hi Hariprasad thanks for the reply
yes you are right i am searching for sql query, but those given links mydigitallife didn't helped me
second link i don't know which one i wanna try
my requirement is to remove a block begin text to end text on some paragraph
if you give any suggestion it will be very helpful
Hariprasad Vijayan comments:
Okay.
You can see the details in first thread.
The code should be like this. Not tested this. Take proper backup of database before execute query.
update wp_posts set post_content = replace(post_content, ‘string to remove’, ‘’);
And this is only applicable if you want to remove similar lines from all posts.
Please let me know if you need any further doubt in this.
anitha comments:
@ Hariprasad
thanks for the reply
its not similar lines, its different lines, so the above query not suitable i think
is there any queries to remove specific div completely for example <div id='header-wrapper'> to </div>
Hariprasad Vijayan comments:
I think this is not possible using sql query, and it is possible by a php script.
you can try something like
<?php
global $wpdb;
$result = $wpdb->get_results("SELECT `ID` , `post_content` FROM $wpdb->posts");
foreach ($result as $post) {
$postid = $post->ID;
$post_content = $post->post_title;
$new_content = preg_replace('/(<div.*?id="header-wrapper"[^>]*>)(.*?)(<\/div>)/i', '$1$3', $post_content);
$wpdb->query("UPDATE $wpdb->posts SET post_content = '".$new_content."' WHERE ID = ".$postid);
} ?>
Hariprasad Vijayan comments:
There is a mistake in my previous comment
code would be like this
<?php
global $wpdb;
$result = $wpdb->get_results("SELECT `ID` , `post_content` FROM $wpdb->posts");
foreach ($result as $post) {
$postid = $post->ID;
$post_content = $post->post_content;
$new_content = preg_replace('/(<div.*?id="header-wrapper"[^>]*>)(.*?)(<\/div>)/i', '$1$3', $post_content);
$wpdb->query("UPDATE $wpdb->posts SET post_content = '".$new_content."' WHERE ID = ".$postid);
} ?>
Let me know if you have any doubt in this.
anitha comments:
@ Hariprasad
thanks for the php script
i tried its removing whole post, its not removing the particular div
Hariprasad Vijayan comments:
that code is for removing a div with id "header-wrapper". could you show exact content that you want to remove.
check your PM.
Just Me answers:
To give exact instructions you will have to supply more details but in general this command will find and replace text in a field_name, then save the new value to field_name. Your "find" is the string you are looking for, your "replace" should be "" (empty string).
update TABLE_NAME set FIELD_NAME = replace(FIELD_NAME, ‘find this string’, ‘replace found string with this string’)
Make sure to backup your database before executing commands like this.
anitha comments:
@ Just me
thanks for the reply
find and replace it won't work for my issue, coz in 4000 posts all the sentence are not same it have different combination so i want to find and replace one by one, i need solution like remove from this word to that word,is that possible
Just Me comments:
With preg_match in the above given code use
$new_content = preg_replace('/(.*)(<div id='head-wrapper'>)(.*)(<\/div>)(.*)/i', '$1$5', $post_content);
Assuming there are no other div's inside the head-wrapper div.
Balanean Corneliu answers:
I can give you a script to make this take the code from here http://colibry.ro/replacecode and insert in a new php file on your server : after access the file like yoururl/youphpfilename.php and go ahead with the steps.
Good luck, make a backup of your DB first ;)
Balanean Corneliu comments:
This code is good to change the url to if you have broken url can use it to transform the url's to the good ones,
Ex. from http://exemple.com/cars/firstcars/productname
to http://exemple.com/car/productname