admin管理员组

文章数量:1023773

I am trying to change the color to red on certain words on my site. However the below code changes each word to "array".

Can someone tell me what is wrong with my code?

function replace_content($content)
    {
    $newwords = array("Check", "Map", "Comments", "Send", "Print");
    $content = str_replace($newwords, '<span style="color:red">' . $newwords . '</span>', $content);
    return $content;
  }
  add_filter('the_content','replace_content');

I am trying to change the color to red on certain words on my site. However the below code changes each word to "array".

Can someone tell me what is wrong with my code?

function replace_content($content)
    {
    $newwords = array("Check", "Map", "Comments", "Send", "Print");
    $content = str_replace($newwords, '<span style="color:red">' . $newwords . '</span>', $content);
    return $content;
  }
  add_filter('the_content','replace_content');
Share Improve this question edited Dec 26, 2016 at 5:28 Tunji 2,9611 gold badge18 silver badges28 bronze badges asked Sep 19, 2015 at 19:58 BrendanBrendan 1332 silver badges8 bronze badges 2
  • That happens, because you've put an array into the string: '<span style="color:red">' . $newwords . '</span>'. – fuxia Commented Sep 19, 2015 at 20:02
  • Thanks, this led me to further research and I was able to get it to work with this: – Brendan Commented Sep 19, 2015 at 20:37
Add a comment  | 

1 Answer 1

Reset to default 2
function replace_content($text) {
  $replace = array(
    'Check' => '<span style="color:red">Check</span>',
    'Map' => '<span style="color:red">Map</span>',
    'Comments' => '<span style="color:red">Comments</span>',
    'Print' => '<span style="color:red">Print</span>'
  );

  $text = str_replace(array_keys($replace), $replace, $text);
  return $text;
}

add_filter('the_content','replace_content');

I am trying to change the color to red on certain words on my site. However the below code changes each word to "array".

Can someone tell me what is wrong with my code?

function replace_content($content)
    {
    $newwords = array("Check", "Map", "Comments", "Send", "Print");
    $content = str_replace($newwords, '<span style="color:red">' . $newwords . '</span>', $content);
    return $content;
  }
  add_filter('the_content','replace_content');

I am trying to change the color to red on certain words on my site. However the below code changes each word to "array".

Can someone tell me what is wrong with my code?

function replace_content($content)
    {
    $newwords = array("Check", "Map", "Comments", "Send", "Print");
    $content = str_replace($newwords, '<span style="color:red">' . $newwords . '</span>', $content);
    return $content;
  }
  add_filter('the_content','replace_content');
Share Improve this question edited Dec 26, 2016 at 5:28 Tunji 2,9611 gold badge18 silver badges28 bronze badges asked Sep 19, 2015 at 19:58 BrendanBrendan 1332 silver badges8 bronze badges 2
  • That happens, because you've put an array into the string: '<span style="color:red">' . $newwords . '</span>'. – fuxia Commented Sep 19, 2015 at 20:02
  • Thanks, this led me to further research and I was able to get it to work with this: – Brendan Commented Sep 19, 2015 at 20:37
Add a comment  | 

1 Answer 1

Reset to default 2
function replace_content($text) {
  $replace = array(
    'Check' => '<span style="color:red">Check</span>',
    'Map' => '<span style="color:red">Map</span>',
    'Comments' => '<span style="color:red">Comments</span>',
    'Print' => '<span style="color:red">Print</span>'
  );

  $text = str_replace(array_keys($replace), $replace, $text);
  return $text;
}

add_filter('the_content','replace_content');

本文标签: filtersstrreplace function in theme