How to remove a comma in space during an explosion and replacement?

$data = "google,facebook,youtube,twitter,bing";

$exp = explode(",",$data);

$rep = str_replace("facebook",$exp);
$final = implode(",",$rep);

echo $final

output// google,,youtube,twitter,bing

How to remove a space with a comma?

+5
source share
6 answers

Here is what your code looks like:

$data = "google,facebook,youtube,twitter,bing";
$exp = explode(",",$data);

foreach($exp as $key => $item)
{
   if(trim($item) == "facebook")
   {
       unset($exp[$key]); //Remove from teh array.
   }
}

$final = implode(",",$rep);
echo $final;

or as long as you don’t have spaces inside after yours, you can just go

$data = str_replace(",facebook,",",",$data);

Strike>

For many complications with str_replacejust use the loopy method.

+4
source
$data = "google,facebook,youtube,twitter,bing";

$exp = explode(',', $data);
$index = array_search('facebook', $exp);
if ($index !== false){
    unset($exp[$index]);
}

$final = implode(',', $exp);

http://php.net/array-search

+3
source

array_filter($data):

$data = str_replace("facebook", "", "google,facebook,youtube,twitter,bing");

$exp = array_filter(explode(",",$data));

$final = implode(",",$rep);

echo $final;

http://php.net/manual/en/function.array-filter.php

" , , FALSE (. boolean), ."

, ?

+2

, , , :

$data = str_replace(',,', ',', $data);
+1
$data = "google,facebook,youtube,twitter,bing";

$final = preg_replace("/(^facebook,?|,facebook,|,facebook$)/", "", $data);

:

$final = implode(',', preg_grep("/^facebook$/", explode(',', $data), PREG_GREP_INVERT));

. preg_grep()

0

RobertPitt - , , . ' , , .

preg_replace, , .

str_replace preg_replace : explode implode. . , ( ), , _replace.

, array_diff explode/implode, , explode implode. .

str_replace , . OP , str_replace.

preg_replace .

echo preg_replace("/,facebook\b|\bfacebook,|\bfacebook\b/","",$data);

(\b), . .. , , ; , . , csv, . - , SO.

, :

$needle="facebook";

echo preg_replace("/,$needle\b|\b$needle,|\b$needle\b/","",$data);
// OR
echo preg_replace("/,".$needle."\b|\b".$needle.",|\b".$needle."\b/","",$data);

()


str_replace:

$args=[["facebook",",,"],["",","]];
echo trim(str_replace($args[0],$args[1],$data),",");

facebook, , .


And in third place explode→ array_diff→ implodeas a single line:

echo implode(',',array_diff(explode(',',$data),["facebook"]));

It is a solid one-line, but still has to go to work to explode, filter and detonate.

Here is my test field , where I put all three methods in steps.

0
source

All Articles