Очистка текста от мусора и разбивка на списки с маркерами

12
Mad_Man
На сайте с 10.11.2008
Offline
162
#11
jmas:
Можно заюзать библиотеку Jevix или Kses для чистки HTML от лишних тэгов.

Ога, а потом без тегов попробуй разбить один кусок сплошного текста на две логические части.

T
На сайте с 07.04.2010
Offline
61
#12
Mad_Man:
Про исходники Вы ничего толком не написали, кроме фразы про "находится в одной переменной" (находятся ли исходники для правки в БД\в файле .html\как часть вывода массива), поэтому рассмотрен вариант с .html, но легко допиливается под переменную, регулярки одни и те же. Если не получится самим, помогу за бапке долепить до любого варианта вывода.

Код комментирован, подробнее там же.

Спасибо за отзывчивость. Посмотрел что как в приложенном вами файле, и написал следующее. Конечно говнокод, но сработало :)

<?

preg_match_all("|<[^>]+>(.*)</[^>]+>|U",$arResult["DETAIL_TEXT"],$out, PREG_PATTERN_ORDER);
$counti = count($out[1]);
$polovina = round($counti/2,0);
?>
<ul>
<?
for ($i=0; $i<$polovina; $i++) {
echo "<li><span>".$out[1][$i]."</span></li>";
}
?>
</ul>
<ul>
<?
for ($i=$polovina; $i<$counti; $i++) {
echo "<li><span>".$out[1][$i]."</span></li>";
}
?>
</ul>

В итоге получили два списка с ровным (если нечетное почти ровным) количеством столбцом.

Mad_Man
На сайте с 10.11.2008
Offline
162
#13

facepalm.jpg

Это ахтунг.


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<ul>
<li><span>Мини-очиститель</span></li><li><span></span></li><li><span></span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Питание </span></li><li><span>2хAA </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Вес брутто </span></li><li><span>0,1 кг </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Вес нетто </span></li></ul>
<ul>
<li><span>0,09кг </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Габариты короба (Д/Ш/Г) </span></li><li><span>7,7х4,3х7,9</span></li><li><span>Металлическая защитная решетка </span></li><li><span>Съемный прозрачный контейнер </span></li><li><span>Идеально удаляет катышки с одежды и текстильных изделий</span></li><li><span></span></li></ul>
png 92854.png
T
На сайте с 07.04.2010
Offline
61
#14
Mad_Man:
facepalm.jpg

Это ахтунг.


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<ul>
<li><span>Мини-очиститель</span></li><li><span></span></li><li><span></span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Питание </span></li><li><span>2хAA </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Вес брутто </span></li><li><span>0,1 кг </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Вес нетто </span></li></ul>
<ul>
<li><span>0,09кг </span></li><li><span><td class="property" style="font-size: 12px; font-family: Arial, sans-serif; ">Габариты короба (Д/Ш/Г) </span></li><li><span>7,7х4,3х7,9</span></li><li><span>Металлическая защитная решетка </span></li><li><span>Съемный прозрачный контейнер </span></li><li><span>Идеально удаляет катышки с одежды и текстильных изделий</span></li><li><span></span></li></ul>

Под мою верстку смотриться лучше, а именно смотрится как надо. Но осталась только одна проблема, с помощью той регулярки что у меня стронг не убирается. Как от него избавиться?

Mad_Man
На сайте с 10.11.2008
Offline
162
#15
Tchort:
Под мою верстку смотриться лучше, а именно смотрится как надо. Но осталась только одна проблема, с помощью той регулярки что у меня стронг не убирается. Как от него избавиться?

Банально. Без массива:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<?php

$i = "<strong><br />Text</strong>";

$strongcleaner = str_replace("<strong>", "", $i);

$strongcleaner2 = str_replace("</strong>", "", $strongcleaner);

echo $strongcleaner2;

?>

С массивом:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<?php

$i = "<strong><br />Text</strong>";

$array = array("<strong>", "</strong>");

$strongcleaner = str_replace($array, "", $i);

echo $strongcleaner;

?>
T
На сайте с 07.04.2010
Offline
61
#16
Mad_Man:
Банально. Без массива:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<?php

$i = "<strong><br />Text</strong>";

$strongcleaner = str_replace("<strong>", "", $i);

$strongcleaner2 = str_replace("</strong>", "", $strongcleaner);

echo $strongcleaner2;

?>


С массивом:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


<?php

$i = "<strong><br />Text</strong>";

$array = array("<strong>", "</strong>");

$strongcleaner = str_replace($array, "", $i);

echo $strongcleaner;

?>

Спасибо. Вы очень помогли.

12

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