$variables['slide_one_description'] = wordwrap(theme_get_setting('slide_one_description','metroman'), 20,"<br>");
在上面,我设置了滑块描述的变量,我只想在一段时间后应用换行符,但上面的代码打印HTML br
标签而不是换行符。
注意:description是一个动态内容,我想在Drupal 8中解决。
答案 0 :(得分:0)
曾经有执行此功能的功能,例如SafeMarkup :: checkPlain(),但已不建议使用并删除它们。在大多数情况下,Twig会为您进行文本清理,但是有时候您只需要在Drupal的PHP中使用HTML剥离的值即可。
例如,PHP具有[strip_tags()] [1]函数,该函数完全可以实现其名称所暗示的功能。
或者,以更友好的Drupal方式,只需将值通过t()函数传递并使用@替换即可强制使用纯文本。这是一个工作原理的示例:
$value = '<p>Here is a <b>value</b> with HTML.<br>Let's remove it.</p>';
$stripped_value = t('@value', ['@value' => $value]);
当然,这是一个简单的示例,但是您可以将其应用于其他方案。而且,这只是摆脱了
标记,而不是用换行符代替;您需要使用如下所示的PHP函数将
标记替换为其他内容:
function br2nl($string)
{
return preg_replace('/\<br(\s*)?\/?\>/i', "\n", $string);
}