El Heso Posted September 25, 2011 Share Posted September 25, 2011 Hi! this is my code for the import: if (($handle = $source_file) !== FALSE) { $columns = fgetcsv($handle, 10000, ";"); foreach ($columns as &$column) { $column = str_replace(".","",$column); } $insert_query_prefix = "INSERT INTO table (".join(",",$columns).")\nVALUES"; while (($data = fgetcsv($handle, 10000, ";")) !== FALSE) { while (count($data)<count($columns)) array_push($data, NULL); $query = "$insert_query_prefix (".join(",",quote_all_array($data)).");"; mysql_query($query); } fclose($handle); } function quote_all_array($values) { foreach ($values as $key=>$value) if (is_array($value)) $values[$key] = quote_all_array($value); else $values[$key] = quote_all($value); return $values; } function quote_all($value) { if (is_null($value)) return "NULL"; $value = "'" . mysql_real_escape_string($value) . "'"; return $value; } the value i want to remove before import is (Gå till ...) it starts with this (Gå till than more value then close with ) so i need the preg_replace search the code were it starts with (Gå till then delete everything within that () example: in one row this exists: Hey (Gå till nästa steg) mom. //the value "nästa steg" can be different should be after preg_replace Hey mom. after the preg_replace the sript should import the data i have tryed to use this kind of code but cant make it work ( dont know were to put it or how to write ) $pattern = '#\(\s*Gå till[^)]+\)#'; $s = preg_replace($pattern, "", $s); $s = preg_replace('#\s{2,}#', " ", $s); Quote Link to comment Share on other sites More sharing options...
codeprada Posted September 27, 2011 Share Posted September 27, 2011 You only really need to look for (Gå since it's starts your pattern and then match everything until you've reached the closing parenthesis. Consider this.... #\(Gå[^\)].+?\)# Quote Link to comment Share on other sites More sharing options...
sunfighter Posted September 27, 2011 Share Posted September 27, 2011 Here another solution in php. <?php // Given these $needle = '(Gå till'; $curve = ')'; $string = 'Hello, You big (Gå till lotsa Bad and love) bad wonderful girl.'; $string = implode(' ', explode(substr($string, strpos($string, $needle), strpos($string, $curve)-strpos($string, $needle)+1), $string)); echo $string; ?> Will give you. Hello, You big bad wonderful girl. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.