In the past few days, I encountered a small problem in my work. One Field of the content type is stored in a language, because the data is written in Excel and imported, so it is easy to process, many languages are separated by commas (,) to create a string for all languages, which is much simpler to store. However, due to the original data quality problems, some of the "Chinese" are "Mandarin Chinese". Now we need to change all "Mandarin Chinese" to "Chinese ".
This requires replacement of some strings in a string. To solve this problem, we usually use regular expressions for replacement or some replacement methods in PHP. It is very troublesome and time-consuming to do so, so I thought of such a lazy method, using the explode function, using the string to be replaced as the separator, and then connecting the two array elements to the string to be replaced, then UPDATE it.
Copy codeThe Code is as follows: <? Php
Function replace (){
$ SQL = db_query ("SELECT field_languages_value, nid FROM {content_type_company_profile} WHERE
Field_cmdages_value like '% Mandarin Chinese % '");
While ($ result = db_fetch_object ($ SQL )){
$ A = explode ("Mandarin Chinese", $ result-> field_languages_used_value );
$ B = $ a []. 'China'. $ a [1];
Db_query ("UPDATE content_type_company_profile SET field_languages_used_value = '% s' WHERE nid = %
D ", $ B, $ result-> nid );
}
}
?>