2014-02-19 5 views
1

Я пытаюсь добавить исключения strip_tags для smarty, но по какой-то причине он не работает. ниже мой код. может кто-нибудь помочь мне выяснить, что я делаю неправильно.Добавить исключения strip_tags в smarty

<td class="olotd4 tooltip2"> 
<span>{$customer_work_orders_result 
[i].WORK_ORDER_DESCRIPTION|strip_tags:"<a><del><em><strong><blockquote>"|stripslashes}</span> 
{$customer_work_orders_result[i].WORK_ORDER_SCOPE}</td> 

Он работает, но все же лишает все.

Заранее спасибо ..

ответ

2

Smarty strip_tags реализация не позволит. Вы можете, однако, написать свой собственный модификатор:

сохранить его как щеголь/плагины/modifier.strip_tags_exclude.php (или в папке пользовательских плагинов)

function smarty_modifier_strip_tags_exclude() 
{ 

    $params=func_get_args(); 

    if (!isset($params[1])) { 
     $params[1] = true; 
    } 
    if ($params[1] === true) { 
     return preg_replace('!<[^>]*?>!', ' ', $params[0]); 
    } else { 
     if (is_string($params[1])) 
     { 
      $allowable_tags = strtr($params[1],'[]','<>'); 
     } 


     return strip_tags($params[0],$allowable_tags); 
    } 
} 

, а затем вы можете использовать его таким образом:

{$variable|strip_tags_exclude:'<a><p><ul><li>'} 

или в качестве альтернативы (некоторые редакторы могут запутаться и думать, что вы открываете теги):

{$variable|strip_tags_exclude:'[a][p][ul][li]'} 
+0

Tha nk вы за советы. Я также нашел некоторые документы на сайте smarty. еще раз спасибо. – user3303594

Смежные вопросы