Как закрыть тег в PHP

294
28 апреля 2017, 21:07

В содержании на лету добавляется тег HTML code:

    $tag_pre = array('<pre class="html">',
                     '<pre class="css">',
                     '<pre class="js">',
                     '<pre class="php">'
    );
    $tag_code = array('<pre><code class="html">',
                      '<pre><code class="css">',
                      '<pre><code class="js">',
                      '<pre><code class="php">'
    );
$content = str_replace($tag_pre, $tag_code, $content);

Как закрыть тег code?

Чтобы было например так:

<pre><code class="html">текст</code></pre>
<pre><code class="css">текст</code></pre>
<pre><code class="js">текст</code></pre>
<pre><code class="php">текст</code></pre>

Сейчас код в содержании:

<pre class="js hljs javascript">JavaScript: object.style.свойство=<span class="string">"значение"</span>flex-basis</pre>

Стили hljs javascript для тега pre class="js добавляет библиотека highlight.pack.js. В ней легко менять добавление стилей для любого тега, но нужно для code!

Answer 1

Как вариант вы можете использовать регулярные выражения и preg_replace().

Пример:

$html = <<< HTML
    line1
    <pre>pre w/o class</pre>
    line 3 <pre class="js">pre class js</pre>
    line 4
    <pre class="php">pre class php</pre>  
HTML;
$html = preg_replace(
            '/<pre class="(php|js|html)">(.*?)<\/pre>/',
            '<pre><code class="$1">$2</code></pre>',
            $html);
print_r($html);

получим

line1
<pre>pre w/o class</pre>
line 3 <pre><code class="js">pre class js</code></pre>
line 4
<pre><code class="php">pre class php</code></pre>
READ ALSO
С чего начать создание API?

С чего начать создание API?

Собственно, в заголовке весь вопросПосоветуйте какой-нибудь материал для изучения (желательно на русском языке)

213
Повторяющиеся поля комментирования

Повторяющиеся поля комментирования

Наверно мне сложно выразить свои мысли так как я не профессионалВ базе данных есть продукты

268
Подключение единственного js-скрипта в wordpress

Подключение единственного js-скрипта в wordpress

Подскажите, как правильно подключить единственный скрипт в плагине? Те

222
Ограничение ввода в textInput PHP

Ограничение ввода в textInput PHP

Есть поле ввода на php:

261