php查找并替换特定char后的字符串

时间:2013-07-10 15:06:52

标签: php string str-replace

我有一个包含很少“*”字符的长字符串,我想找到所有这些字符并将它们替换为它们之后的8个字符,然后用另一个字符串替换它们。做这个的最好方式是什么?这就是我试图做的事情:

 $over_string=strlen($story)-1;
 for ($i=0; $i<$over_string; $i++){
if($story[$i]=='*'){
     $id_substr=substr($story, $i+1,8);
     $name_player_change=some_function($id_substr);
     $id_to_replace='*'.$id_substr;
     $name_to_place='<a href="#">'.$name_player_change.'</a>';
     $story=str_replace($id_to_replace,$name_to_place,$story);
}//if
  }//for

1 个答案:

答案 0 :(得分:1)

$story = preg_replace('/\*.{8}/', $name_to_place, $story);

应该让你到达你想去的地方。

或者如果你想用*之后的8个匹配字符替换链接的内容,那么你可以使用。

$story = preg_replace('/\*(.{8})/', '<a href="#">$1</a>', $story);