Как я могу повторить PHP в preg_replace? - PullRequest
0 голосов
/ 13 февраля 2020

ОК, я пытался выяснить это в течение 3 дней, но, похоже, не могу правильно понять код.

Следующий код отображает мой заголовок:

<?php echo $result['title'];?>

Следующий код отображает мое содержание:

<?php
if(!empty($result['content']))
{
$result['content'] = str_replace(array("\n"), "<br/><br/>", $result['content']);
echo preg_replace('#(<br */?>\s*)+#i', '<br/><br/>', $result['content']);
}
?>

В пределах preg_replace мне нужно отобразить заголовок между тегами 2 br; как то так:

<?php
if(!empty($result['content']))
{
$result['content'] = str_replace(array("\n"), "<br/><br/>", $result['content']);
echo preg_replace('#(<br */?>\s*)+#i', '<br/>$result['title']<br/>', $result['content']);
}
?>

Заранее спасибо за столь необходимую помощь!

1 Ответ

0 голосов
/ 13 февраля 2020

Здесь вы используете строковые литералы, которые приведут к ошибке: '<br/>$result['title']<br/>', вы можете альтернативно использовать concat. или сделайте что-то вроде этого: "<br/>{$result['title']}<br/>".

<?php
$result['title']   = 'Weather warning.';
$result['content'] = 'Today sees high gusts.
You are advised to not make unnecessary journeys.';

if(!empty($result['content']))
{
    $result['content'] = str_replace(array("\n"), "<br/><br/>", $result['content']);
    echo preg_replace('#(<br */?>\s*)+#i', "<br/>{$result['title']}<br/>", $result['content']);
}

Вывод:

Today sees high gusts.<br/>Weather warning.<br/>You are advised to not make unnecessary journeys.

Хотя мой пример текста читается бессмысленно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...