在php中替换字符串

时间:2016-01-09 14:18:24

标签: php string replace

这是我的变量:

$name = "&6Mine &cHor&6se";

现在我要删除&和&旁边的字母,所以我需要将其替换为:

$name = "Mine Horse"

是否有可以帮助我的功能?

2 个答案:

答案 0 :(得分:2)

必须使用正则表达式。

<?php
  $name = "&6Mine &cHor&6se";
  echo preg_replace('/(&[0-9a-f])/', '', $name);
?>

因为这只会取代&0 - &gt; &9&a - &gt; &f""

还可以使用preg_replace_callback函数将这些颜色代码转换为html代码,例如:

function toColor($hex){
  switch($hex){
    case '&0': return '#000000';
    case '&1': return '#111111'; // or some other color that represents &1.
    default:
      return '#eee'; // return default font color.
  }
}

答案 1 :(得分:1)

您可以使用正则表达式:

$newName = preg_replace('/&./', '', $name);

这将替换&,后跟任何带有空字符串的字符。有关详细信息,请参阅the docs

Here's a demo