Чистка html кода

seo3_Kul
На сайте с 25.10.2010
Offline
144
1701

Подскажите, пожалуйста, если какая либо программа, которая позволит проделать следующую операцию.

Есть исходный код, к примеру:


<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>B</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>C</span></p>

который нужно преобразовать в:


<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A<br>B<br>C</span></p>

Или если исходный код выглядит так:


<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span></p>

который нужно преобразовать в:


<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A<br>A<br>A</span></p>

Тут по сути величина A (это просто цифры в таблице) одна для всех, такого кода очень много и вручную лопатить не хотелось бы... Можно было бы как нибудь заменить фрагмент целиком, но несколько строчек кода ведь не вставить в "Заменить на"... есть ли какой нибудь выход?

Продвижение и раскрутка сайтов!
G
На сайте с 12.04.2008
Offline
101
#1

Если честно то код ужасен как "ДО" так и "ПОСЛЕ", просто немного короче стал, но сути не меняет. Вы наверное в Ворде делаете? Почему бы не попробывать dreamviewer?

Продажа сайтов (/ru/forum/866932) под Amazon и AdSense
seo3_Kul
На сайте с 25.10.2010
Offline
144
#2

GSMtricks, да код достался мне из Ворда

Dreamviewer пробовал он чистит только само содержимое тегов <p> и <span>, но не объединяет содержимое...

G
На сайте с 12.04.2008
Offline
101
#3

Я вел к тому что если чистить, то делать сразу правильно, а то что предлагаете Вы - просто небольшое уменьшение, при таком коде в валидности даже не стоит заикаться. Я бы на Вашем месте руками бы прошелся по коду и сделал бы все корректно.

[Удален]
#4

Могу предложить только такое решение, когда мне нужно вычистить код, после того как клиенты сами вставят какую-нибудь инфу на сайт из ворда, а редактор в админке не очищает сразу.

Делаю так: копирую "грязный" хтмл-код и иду на сайт http://wordoff.org/. Вставляю и нажимаю кнопку Clean Up. После этой операции остается еще много лишних тегов (хотя в вашем примере сразу чистит все, оставляя только абзацы):

<p>A</p>

<p>B</p>
<p>C</p>

Если еще остались теги, то приступаем к этапу номер 2.

Идем на сайт http://fixmyhtml.com/ и вставляем код скопированный из предыдущей операции. Жмем кнопку FixIt. После этой процедуры, код будет совершенно чистым. Останутся только абзацы.

Делать именно в таком порядке, сначала wordoff потом fixit, иначе не очистится. Например, код приведенный вами fixit не чистит.

Avenger
На сайте с 22.07.2007
Offline
47
#5

seo3_Kul, очистите предложенными выше способами, а уже потом вручную объедините. Это будет самый оптимальный вариант.

С уважением, Андрей Головнев (http://golovnev.by/)
seosniks
На сайте с 13.08.2007
Offline
389
#6

Тс, Вам нужно удалить <span

style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span>

А если заменить все

<?php


$text=<<<eoff
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>A</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>B</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
style='font-size:7.5pt;font-family:"Tahoma","sans-serif"'>C</span></p>
eoff;

$text = preg_replace('/<span(.*?)>(.*?)<\/span>/is',"$2", $text);
echo $text = preg_replace('/<p(.*?)>(.*?)<\/p>/is',"<p>$2</p>", $text);
?>

получим

<p>A</p>

<p>B</p>
<p>C</p>
БОЧ рВФ 260602
На сайте с 27.01.2010
Offline
195
#7

ищем прогу htmlcleaner - пользуемся и радуемся..

Vladimir
На сайте с 07.06.2004
Offline
587
#8
r.yevgeniy:


Делать именно в таком порядке, сначала wordoff потом fixit, иначе не очистится. Например, код приведенный вами fixit не чистит.

Зачем так сложно? копируем текст со страницы, вставляем в блокнот, копируем из блокнота...имеем только текст.

Nadejda добавил 22.02.2011 в 07:22

seo3_Kul:

Тут по сути величина A (это просто цифры в таблице) одна для всех, такого кода очень много и вручную лопатить не хотелось бы... Можно было бы как нибудь заменить фрагмент целиком, но несколько строчек кода ведь не вставить в "Заменить на"... есть ли какой нибудь выход?

если это таблицы, и их много, то как вариант страницы сохранить в txt. Создать скриптик, который преобразует txt, в HTML код со стилями. В txt файле сохраниться табличная разметка, в виде tab(или пробела не помню). Во всяком случае лет 8 назад так переверстали сайт из множества таблиц.

Аэройога ( https://vk.com/aeroyogadom ) Йога в гамаках ( https://vk.com/aero_yoga ) Аэройога обучение ( https://aeroyoga.ru ) и просто фото ( https://weandworld.com )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий