使用php在href中转义双引号

时间:2017-02-08 23:26:33

标签: php laravel

我有一个简单的问题。我有这个功能使用PHP laravel输出一个可点击的链接。 这是后端的一部分。

  public function linkify($text){
  //$text = preg_replace('/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[A-Z0-9+&@#\/%=~_|]/i', '<a href="\0">\0</a>', $text);
   $text = '<a href="http://google.com">http://google.com</a> ';
      return $text; 
  }

 foreach ($res as $row) {
   $subject= $this->linkify($row['subject']);
   $json['amps'][$x]['subject']= $subject;
   $x++;
  }
 echo json_encode($json);

这是前端

{{#each amps}}
        <li class="message">
        <img src="/images/people/{{pic}}" class="chatpic" alt="">
            <div class="message-text">
                {{subject}}         
            </div>
        </li>
    {{/each}}

问题是,它不是输出可点击的链接,而是显示纯文本。 我还注意到链接用双引号括起来 以下是控制台窗口的源代码

enter image description here

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:2)

您需要使用正确的括号语法来显示未转义的HTML

<div class="message-text">
            {!! subject !!}         
 </div>

标准括号将您的值包装在幕后的htmlentities()方法中以清理用户输入。

答案 1 :(得分:0)

与其使用{!! subject !!}而不是{{{ subject }}}

免责声明:我正在写“以色列·冈萨雷斯”的评论作为答案,因为这是我从Google那里得到的第一个链接,我的问题没有被接受,但他的评论确实为我解决了。 sup>