【问题标题】:PHP returning non-parsed HTML characters in stringPHP在字符串中返回未解析的HTML字符
【发布时间】:2018-01-10 08:14:59
【问题描述】:

我不知道我在这里做错了什么,但我需要返回一个由换行符分隔的字符串数组,当我返回内爆字符串时,它实际上包含 HTML 标签作为文本,非解析。

这是我的代码:

if (!empty($college)){
$return[] = $college;
}
if (!empty($precollege)){
$return[] = $precollege;
}
if (!empty($evening_division)) {
$return[] = $evening_division;
}
if (!empty($music_advancement_program)) {
$return[] = $music_advancement_program;
}
$test = implode("<br/>",$return);

return $test;

但是,该函数返回的字符串包含作为标记“”键入的 HTML 字符,而不是实际的换行符。我需要将字符串返回到模板以呈现数据,因此需要使用正确的换行符格式化字符串。我也试过 \n 也无济于事。这来自一个预处理函数,该函数正在创建可在 Drupal 8 树枝文件中访问的变量。有什么想法吗?

【问题讨论】:

    标签: php drupal drupal-8


    【解决方案1】:

    没有看到完整的代码,

    根据:https://www.drupal.org/docs/8/theming/twig/twig-best-practices-preprocess-functions-and-templates

    你应该这样做:

    function your_function(&$variables) {
        if (!empty($college)){
            $return[] = $college;
        }
        if (!empty($precollege)){
            $return[] = $precollege;
        }
        if (!empty($evening_division)) {
            $return[] = $evening_division;
        }
        if (!empty($music_advancement_program)) {
            $return[] = $music_advancement_program;
        }
    
        $variables['test'] = t(implode("<br/>", $return));
    }
    

    然后在您的模板中,访问如下:

    <div>{{ test }}</div>
    

    【讨论】:

      猜你喜欢
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-18
      • 2020-07-10
      • 2011-07-03
      • 1970-01-01
      相关资源
      最近更新 更多