这几天,工作中遇到一个小问题,有一内容类型的字段存储的是语言,因为这写数据是用Excel导入做的,所以为了处理简单,很多的语言就用逗号分隔,把所有语言做一个字符串,这样存入的时候就简单的多。但是由于当初数据质量的问题,有一部分“Chinese”是 “Mandarin Chinese”,现在需要把所有的“Mandarin Chinese”改为“Chinese”。
这就需要把一个字符串中的部分字符串替换掉。对于这样的问题,一般就是用正则表达式来做替换,或者使用PHP的一些替换的方法,这样做的话感觉很比较麻烦,时间又比较紧,所以就想了这样一个懒人办法,使用explode函数,把要替换的字符串做为分割符号,然后把两个数组元素中间接上要换成的字符串,然后UPDATE一下就行了。
function replace(){
$sql = db_query("SELECT field_languages_value,nid FROM {content_type_company_profile} WHERE
field_languages_value like '%Mandarin Chinese%'");
while($result = db_fetch_object($sql)){
$a = explode("Mandarin Chinese",$result->field_languages_used_value);
$b = $a[].'Chinese'.$a[1];
db_query("UPDATE content_type_company_profile SET field_languages_used_value = '%s' WHERE nid = %
d",$b,$result->nid);
}
}
?>
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn