解码函数中的str_replace不起作用

时间:2015-07-10 15:19:01

标签: php

由于某种原因,搜索和替换部分功能无效。我的语法错了吗?

function display($data) {

$new = str_replace('<br />',"\n",$data);
$newer = htmlspecialchars($new);
    $search  = array('&lt;b&gt;', '&lt;/b&gt;', '&lt;i&gt;', '&lt;/i&gt;', '&lt;u&gt;', '&lt;/u&gt;', '\r\n');
    $replace = array('<b>', '</b>', '<i>', '</i>', '<u>', '</u>', '<br />');

  $newest = str_replace($replace, $search, $newer);

  return $newest;
}

1 个答案:

答案 0 :(得分:0)

以这种方式尝试:

function display($data) {

$new = str_replace('<br />',"\n",$data);
$newer = htmlspecialchars($new);
$replace = array('<b>' => '&lt;b&gt;', '</b>' => '&lt;/b&gt;', '<i>' => '&lt;i&gt;', '</i>'=> '&lt;/i&gt;', '<u>' => '&lt;u&gt;', '</u>' => '&lt;/u&gt;', '<br />' => '\r\n');
$newest = $newer;

foreach($replace as $rep => $find){
     $newest = str_replace($rep , $find, $newest);
}
  return $newest;
}