Я нахожу странным иметь огромные HTML-строки, а затем использовать какой-либо поиск строки и заменить хак для последующего форматирования ...
При построении HTML с PHP мне нравится использовать массивы:
$htmlArr = array();
foreach ($dataSet as $index => $data) {
$htmlArr[] = '<p>Line#'.$index.' : <span>' . $data . '</span></p>';
}
$html = implode("\n", $htmlArr);
Таким образом, каждая строка HTML имеет отдельное значение $ htmlArr []. Более того, если вам нужно, чтобы ваш HTML был «красивым шрифтом», вы можете просто иметь какой-то метод, который будет делать отступ для вашего HTML, добавляя пробелы в начале каждого элемента массива в зависимости от набора правил Somme. Например, если у нас есть:
$htmlArr = array(
'<ol>',
'<li>Item 1</li>',
'<li><a href="#">Item 2</a></li>',
'<li>Item 3</li>',
'</ol>'
);
Тогда алгоритм функции форматирования будет (очень простой, учитывая, что HTML хорошо построен):
$indent = 0; // initial indent
foreach & $value in $array
$open = count how many opened elements
$closed = count how many closed elements
$value = str_repeat(' ', $indent * TAB_SPACE) . $value;
$indent += $open - $closed; // next line's indent
end foreach
return $array
Тогда implode("\n", $array)
для симпатичного HTML
** ОБНОВЛЕНИЕ **
После редактирования вопроса Феликсом Клингом я понимаю, что это не имеет никакого отношения к вопросу. Извините за это :) Спасибо, хотя за разъяснения.