Как преобразовать несколько тегов <br/ "> в один тег <br/" > в php Требуется конвертировать <br/> <br/> <br/> <br/> <br/> в <br/> Ответ 1 Вы можете сделать это с помощью регулярного выражения: preg_replace("/(<br\s*\/?>\s*)+/", "<br/>", $input); Это, если вы передадите исходный HTML-код, это вернет строку с единственной заменой каждого из них. lt; br/" > Ответ 2 Мина почти точно такая же, как levik (+1), просто принимая во внимание отличное форматирование br: preg_replace('/(<br[^>]*>\s*){2,}/', '<br/>', $sInput); Ответ 3 Улучшенная читаемость, короче, дает правильный вывод независимо от атрибутов: preg_replace('{(<br[^>]*>\s*)+}', '<br/>', $input); Ответ 4 Спасибо всем.. Используемая версия Jakemcgraw (+1) Просто добавил аргумент без учета регистра. {(<br[^>]*>\s*)+}i Отличный инструмент для проверки этих регулярных выражений: http://www.spaweditor.com/scripts/regex/index.php Ответ 5 Используйте регулярное выражение для соответствия <br/> один или несколько раз, а затем используйте preg_replace (или аналогичный) для замены с помощью <br/>, таких как ответ levik. Ответ 6 без 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 />' Ответ 7 Вероятно, вы хотите использовать регулярное выражение. Я не тестировал следующее, но считаю, что это правильно. $text = preg_replace( "/(<br\s?\/?>)+/i","<br />", $text ); Ответ 8 Быстрое, не регулярное выражение: while(strstr($input, "<br/><br/>")) { $input = str_replace("<br/><br/>", "<br/>", $input); } Ответ 9 Пользователь может ввести много вариантов <br> <br/> < br /> <br > <BR> <BR>< br> ... и многое другое. Итак, я думаю, что будет лучше следующего $str = preg_replace('/(<[^>]*?br[^>]*?>\s*){2,}/i', '<br>', $str);
Ответ 1 Вы можете сделать это с помощью регулярного выражения: preg_replace("/(<br\s*\/?>\s*)+/", "<br/>", $input); Это, если вы передадите исходный HTML-код, это вернет строку с единственной заменой каждого из них. lt; br/" >
Ответ 2 Мина почти точно такая же, как levik (+1), просто принимая во внимание отличное форматирование br: preg_replace('/(<br[^>]*>\s*){2,}/', '<br/>', $sInput);
Ответ 3 Улучшенная читаемость, короче, дает правильный вывод независимо от атрибутов: preg_replace('{(<br[^>]*>\s*)+}', '<br/>', $input);
Ответ 4 Спасибо всем.. Используемая версия Jakemcgraw (+1) Просто добавил аргумент без учета регистра. {(<br[^>]*>\s*)+}i Отличный инструмент для проверки этих регулярных выражений: http://www.spaweditor.com/scripts/regex/index.php
Ответ 5 Используйте регулярное выражение для соответствия <br/> один или несколько раз, а затем используйте preg_replace (или аналогичный) для замены с помощью <br/>, таких как ответ levik.
Ответ 6 без 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 />'
Ответ 7 Вероятно, вы хотите использовать регулярное выражение. Я не тестировал следующее, но считаю, что это правильно. $text = preg_replace( "/(<br\s?\/?>)+/i","<br />", $text );
Ответ 8 Быстрое, не регулярное выражение: while(strstr($input, "<br/><br/>")) { $input = str_replace("<br/><br/>", "<br/>", $input); }
Ответ 9 Пользователь может ввести много вариантов <br> <br/> < br /> <br > <BR> <BR>< br> ... и многое другое. Итак, я думаю, что будет лучше следующего $str = preg_replace('/(<[^>]*?br[^>]*?>\s*){2,}/i', '<br>', $str);