PHP htmlentities позволяют только <b> и <i>

Использование htmlentities() есть способ, который я могу установить, чтобы только <b> и <i> преобразовывать в жирный и курсивный текст? Я знаю, что есть один способ сделать это, но я забыл.

Это довольно легко

 <?php $string = htmlentities($text); $string = str_replace(array("&lt;i&gt;", "&lt;b&gt;", "&lt;/i&gt;", "&lt;/b&gt;"), array("<i>", "<b>", "</i>", "</b>"), $string); 

Я использую вспомогательную функцию:

 # Sanitizer function - removes forbidden tags, including script tags function strip_tags_attributes( $str, $allowedTags = array('<a>','<b>','<blockquote>','<br>','<cite>','<code>','<del>','<div>','<em>','<ul>','<ol>','<li>','<dl>','<dt>','<dd>','<img>','<ins>','<u>','<q>','<h3>','<h4>','<h5>','<h6>','<samp>','<strong>','<sub>','<sup>','<p>','<table>','<tr>','<td>','<th>','<pre>','<span>'), $disabledEvents = array('onclick','ondblclick','onkeydown','onkeypress','onkeyup','onload','onmousedown','onmousemove','onmouseout','onmouseover','onmouseup','onunload') ) { if( empty($disabledEvents) ) { return strip_tags($str, implode('', $allowedTags)); } return preg_replace('/<(.*?)>/ies', "'<' . preg_replace(array('/javascript:[^\"\']*/i', '/(" . implode('|', $disabledEvents) . ")=[\"\'][^\"\']*[\"\']/i', '/\s+/'), array('', '', ' '), stripslashes('\\1')) . '>'", strip_tags($str, implode('', $allowedTags))); } 

Для вашего примера удалите все, кроме <b> и <i> из массива $allowedTags .