Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 16:34   #1
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
Счастье Преобразование строк php

Всем привет!)
Сразу к делу..

Допустим, у нас в переменной $file есть такой кусок html кода:
Код HTML:
<h2>Подсказка</h2><table><tr><td><b class="q5">Темная Скорбь</b>
<br /><!--bo-->Персональный при поднятии<br />Уникальный<table width="100%">
<tr><td>Двуручное</td><th>Топор</th></tr></table><!--rf--><table width="100%">
<tr><td><span>Урон: 965 - 1609</span></td><th>Скорость 3.70</th></tr>
</table>(347.8 ед. урона в секунду)<br /><span><!--stat4-->+196 к силе</span>
<br /><span><!--stat7-->+268 к выносливости</span><!--rs--><!--e--><br />
<a href="/items=3&amp;filter=cr=81;crs=2;crv=0" class="socket-red q0">Красное гнездо</a>
<br /><a href="/items=3&amp;filter=cr=81;crs=2;crv=0" class="socket-red q0">Красное гнездо</a>
<br /><a href="/items=3&amp;filter=cr=81;crs=2;crv=0" class="socket-red q0">Красное гнездо</a>
<!--ps--><br /><!--sb--><span class="q0">При соответствии цвета: +8 к силе</span>
<br />Прочность: 145 / 145<br />Классы: <a href="/class=1" class="c1">Воин</a>, 
<a href="/class=2" class="c2">Паладин</a>, <a href="/class=6" class="c6">Рыцарь смерти</a>
<br />Требуется уровень: 80<br />Уровень предмета: 284</td></tr></table><table><tr><td>
<!--rr--><span class="q2">Если на персонаже: Рейтинг критического удара +<!--rtg32-->114&nbsp;
<small>(<!--rtg%32-->2.48%&nbsp;@&nbsp;L<!--lvl-->80)</small>.</span><br />
<span class="q2">Если на персонаже: Рейтинг скорости +<!--rtg36-->114&nbsp;
<small>(<!--rtg%36-->3.48%&nbsp;@&nbsp;L<!--lvl-->80)</small>.</span><br />
<span class="q2">Если на персонаже: <a href="/spell=71903" class="q2">При атаках ближнего боя
 вы можете получить фрагмент души, который увеличит вашу силу на 30. При накоплении 10
 фрагментов:фрагментов вы насылаете проклятие хаоса, которое наносит суммарно 1900 to 2100 ед.
 урона от темной магии всем противникам в радиусе 15 м, а также увеличивает вашу силу на 270 на
 10 сек.</a></span><br />Цена продажи: <span class="moneygold">50</span> <span class="moneysilver">47</span>
 <span class="moneycopper">62</span></td></tr></table><!--?49623:1:85:80--><h2>Сводка</h2>
Допустим есть такой php код:
PHP код:
$pos1 strpos($file"<h2>Подсказка</h2>");
$pos2 strpos($file"<h2>Сводка</h2>");
$file substr($file,$pos1+18,$pos2-$pos1-18);
$y substr_count($file"<a href=");
for(
$i=1;$i<=$y;$i++){
$pos1 strpos($file"<a href=");
$file_i substr($file$pos1);
$pos2 strpos($file_i">");
$file_i substr($file_i,0,$pos2+1);
$file str_replace($file_i,"",$file);
}
$file str_replace("</a>","",$file);
$file str_replace("'","`",$file); 
Вывод: Этот код почему-то удаляет теги <table>, я не могу понять, почему это происходит?
Можете мне обьяснить? Или предложите другой вариант решения поставленной задачи(Думаю из функции понятно)

Спасибо!

Последний раз редактировалось Mr_ViK; 07.06.2012 в 16:36.
Mr_ViK вне форума Ответить с цитированием
Старый 07.06.2012, 17:48   #2
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Ну и? Никто не в силах? Блин, жаль...
Mr_ViK вне форума Ответить с цитированием
Старый 07.06.2012, 23:31   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Из кода можно попытаться понять, что нужно, но если напишете более подробно, что не получается, можно будет предложить код полегче
motorway вне форума Ответить с цитированием
Старый 08.06.2012, 08:58   #4
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Так, подробно. Это парсес с wowhead, я загружаю страницу с итемом в переменную и вырезаю только инфо по нему, так же вырезаю ссылки, не затрагивая то что в них. Вот это мне надо, но когда иногда срабатывает так, что вырезает вдобавок все теги <table> бывает режет и <tr>
Mr_ViK вне форума Ответить с цитированием
Старый 08.06.2012, 11:12   #5
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Mr_ViK Посмотреть сообщение
вырезаю только инфо по нему, так же вырезаю ссылки, не затрагивая то что в них.
strip_tags отлично с этим справляется.
Примерно так:
PHP код:
$pos1 strpos($file"<table>");
$file substr($file$pos1);
$pos2 strrpos($file"</table>");
$file substr($file0$pos2 8);
$file strip_tags($file'<table></table><th></th><tr></tr><td></td><br><br/><span></span><b></b>'); 
Andkorol вне форума Ответить с цитированием
Старый 09.06.2012, 18:28   #6
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Спасибо, хорошая идея. +
Mr_ViK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование строк swillrocker Помощь студентам 7 25.05.2011 20:08
Преобразование строк tools Общие вопросы C/C++ 1 27.12.2010 14:55
преобразование строк imperceptible4462 Помощь студентам 14 07.09.2010 06:50
Преобразование HTML-PHP в PHP с запуском в командной строке. TERAB1T PHP 4 01.06.2010 14:14
преобразование строк euhenia Помощь студентам 0 21.11.2009 20:19