web,search,web2.0,1,seo,networking,social web,search,web2.0,3,seo,networking,social web,search,web2.0,4,seo,networking,social
Как мне удалить 1, 3 и 4 из вышеуказанных строк ??
1
3
4
var_dump( implode( ',', array_filter( explode(',',$e), create_function('$a','return !is_numeric($a);') ) ) );
Результат:
string(39) "web,search,web2.0,seo,networking,social" string(39) "web,search,web2.0,seo,networking,social" string(39) "web,search,web2.0,seo,networking,social"
Распределение:
expode()
array_filter()
create_function()
implode
С помощью регулярного выражения вы можете заменить ", [0-9] *,?"на "," может быть
PHP имеет встроенный синтаксический анализатор CSV: http://php.net/manual/en/function.fgetcsv.php
Я бы порекомендовал использовать парсер, а затем выписать ваши данные обратно с помощью fputcsv ().
Я предполагаю, что каждая строка является строкой
$mystring="web,search,web2.0,1,seo,networking,social"; $temp = explode(",", $mystring); $mystring=""; for($i=0;$i<count($temp);$i++) { if(is_int($temp[$i])==false) $mystring+=$temp[$i]; if($i <count($temp)-1) $mystring+=","; }
Это всегда один и тот же формат?
$string = ...; $tab = explode(',', $string); unset($tab[3]); $string = implode(',', $tab);