Требуется преобразоватьКак конвертировать несколько <br/> тег в одном <br/> тега PHP
<br/>
<br/>
<br/>
<br/>
<br/>
в
<br/>
Требуется преобразоватьКак конвертировать несколько <br/> тег в одном <br/> тега PHP
<br/>
<br/>
<br/>
<br/>
<br/>
в
<br/>
Вы можете сделать это с регулярным выражением:
preg_replace("/(<br\s*\/?>\s*)+/", "<br/>", $input);
это, если вы передаете в исходном HTML, это возвращает строку с одним < бр /> заменяющего каждого запуска из них.
использовать регулярное выражение, чтобы соответствовать <br/>
один или несколько раз, а затем использовать preg_replace (или аналогичный) заменить на <br/>
, например, ответ levik.
Возможно, вы захотите использовать регулярное выражение. Я не тестировал следующее, но считаю, что это правильно.
$text = preg_replace("/(<br\s?\/?>)+/i","<br />", $text);
Шахта почти точно так же, как и levik «с (+1), просто приходится какое-то другое бр форматированием:
preg_replace('/(<br[^>]*>\s*){2,}/', '<br/>', $sInput);
Немного лучше, чем у levik, и должен быть даже быстрее. –
без preg_replace, но работает только в PHP 5.0.0+
$a = '<br /><br /><br /><br /><br />';
while(($a = str_ireplace('<br /><br />', '<br />', $a, $count)) && $count > 0)
{}
// $a becomes '<br />'
+1: Regex кажется лучше, но это другой подход. – JCasso
Улучшенная читаемость, короче, производит правильный вывод, независимо от атрибутов:
preg_replace('{(<br[^>]*>\s*)+}', '<br/>', $input);
Спасибо всем .. б Jakemcgraw (в +1) версия
Просто добавил случай insensative вариант ..
{(<br[^>]*>\s*)+}i
Отличный инструмент для проверки этих регулярных выражений:
Вот еще один инструмент для тестирование регулярных выражений: http://gskinner.com/RegExr/ –
Метод быстрого, не регулярного выражения:
while(strstr($input, "<br/><br/>"))
{
$input = str_replace("<br/><br/>", "<br/>", $input);
}
Пользователь может ввести много вариантов
<br>
<br/>
< br />
<br >
<BR>
<BR>< br>
... и многое другое.
Так что я думаю, что это будет лучше в следующем
$str = preg_replace('/(<[^>]*?br[^>]*?>\s*){2,}/i', '<br>', $str);
Вы ищете PHP программу, которая будет вводить HTML-файл и уменьшить теги BR? Это не совсем ясно из вашего вопроса. – devinmoore