【问题标题】:How to remove the <br> tag from an array in PHP?如何从 PHP 中的数组中删除 <br> 标签?
【发布时间】:2014-03-26 12:11:07
【问题描述】:

我有一个名为 $error_msg 的数组,如下所示:

Please select at least 1 question issue<br>This question has been already reported<br>

现在我正在使用以下代码将此数组转换为 json 格式:

    $response_data = array();
    $response_data['que_issue_error'] = 'yes';
    $response_data['error_msg'] = $error_msg['error_msgs'];    
    $response_data = json_encode($error_msg);
    echo $response_data;
    die;

回显后输出如下:

{"que_issue_error":"yes","error_msg":"Please select at least 1 question issue<br>This question has been already reported<br>"}

实际上,我想让
轨道可行,但发生的是
标签正在打印。谁能帮我纠正这个错误?提前致谢。

【问题讨论】:

  • 为什么不使用str_replace()
  • 你的问题结尾是什么意思?
  • 如果您将 json 对象中的 error_msg 键打印给最终用户,他们将看到新行而不是标签

标签: php html arrays json line-breaks


【解决方案1】:

你可以使用;

$response_data['error_msg'] = preg_replace("/<br\W*?\/>/", "",  $error_msg['error_msgs']);

【讨论】:

    【解决方案2】:

    试试这个:

    // Replace tag for blank space
    $response_data['error_msg'] = preg_replace('/<.+>/', ' ',$error_msg['error_msgs']);  
    

    或简单的条形标签(适用于任何 html 标签)

    $response_data['error_msg'] = strip_tags($error_msg['error_msgs']); 
    

    【讨论】:

      【解决方案3】:

      如果你只是想删除所有的 HTML 标签,你可以使用 strip_tags 函数

      $response_data['error_msg'] = strip_tags($error_msg['error_msgs']);
      

      【讨论】:

        【解决方案4】:

        你可以使用str_replace:

        $data = // your data // $response_data
        $data = str_replace("<br>", "", $data);
        $data = str_replace("<br />", "", $data);
        

        要删除所有 html 标签,请使用 strip_tags:

        $data = strip_tags($data);
        

        您还可以使用正则表达式:使用此正则表达式删除空的 br

        试试

        $data = // your data
        $pattern = "/<br[^>]*><\\/br[^>]*>/"; 
        $data = preg_replace($pattern, '', $data); 
        

        替换所有空的html标签:

        $pattern = "/<[^\/>]*>([\s]?)*<\/[^>]*>/";
        

        【讨论】:

          【解决方案5】:

          我不完全是你想要做的,但你可以试试这个:

          str_replace("<br>", "\n", $data); //That depends on where you are tring to display the output
          

          它可能会解决您的问题并保持断线,或者如果它不起作用 你可以像这样去掉断线:

          str_replace("<br>", "", $data);
          

          希望对你有帮助!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-08-31
            • 2016-11-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-10-23
            • 1970-01-01
            相关资源
            最近更新 更多