У меня возникли проблемы с удалением части строки внутри текстового файла с php.PHP Удалить строку из большей строки с переменными
У меня есть большой файл, и мне нужно удалить часть строки этого файла.
Дело в том, что линия не всегда одинакова. Он сохраняет формат, но цифры меняются. Вот пример:
< /td >This is the line< /td >and this< /td >is < /td >the < /td >part< /td >want to remove< /td >Name< /td > after it keeps going < /td > a loong way < /td >
Я хотел бы удалить из </TD> после слова это до </TD> после имени.
мне было интересно, если есть в любом случае из Макин PHP не удалять в обратном порядке от имени до X числа встречаемости от </TD>, что-то вроде:
Удалите из имени до 4-го появления </TD>
Надеюсь, что кто-то может мне помочь ....
Оба ниже ответа делают трюк для текста, но они не работают для моего реального кода. Так вот часть реального кода:
... </тд> </тр> < тр> < тд OnMouseOver = "dm.v (это, 1);" onmouseout = "dm.u (это);" id = "mnFE0BBC45_i8" onclick = "dm.ItClk (this, \ '\'); cmn.href (\ 'indexall.php \', \ '\');" class = "mn31BBMainMenuItemTD"> < Таблица border = "0" cellspacing = "0" cellpadding = "0"> < tr> < td class = "mn31BBIconTD"> < font class = "MG_Icons"> & #xe 746; </FONT> </тд> < тд класс = "mn31BBTitleTD" ID = "mnFE0BBC45_i8-ТЛ"> OTHER_NAME </тд> < тд класс = "mn31BBArrowTD"> </TD> </тр> </table> </td> </tr> < tr> < td onmouseover = "dm.v (this, 1);" onmouseout = "dm.u (это);" id = "mnFE0BBC45_i3" onclick = "dm.ItClk (this, \ '\'); cmn.href (\ 'index.php \', \ '\');" class = "mn31BBMainMenuItemTD"> < Таблица border = "0" cellspacing = "0" cellpadding = "0"> < tr> < td class = "mn31BBIconTD"> < font class = "MG_Icons"> & #xe 746; </FONT> </тд> < тд класс = "mn31BBTitleTD" ID = "mnFE0BBC45_i3-ТЛ">Имя </тд> класс = "mn31BBArrowTD" </TD>/тр/таблица </TD> </tr> < tr> < onmouseover = "dm.v (th is, 1);" onmouseout = "dm.u (th is);" id = "mnFE0B BC45_i5" oncli ck = "dm.ItC lk (t his, \ '\'); cmn.h ref (\ 'indexd2.php \', \ '\');" класс ...
Это лишь небольшая часть кода (это Javascript Menu), есть пробелы во всех тегах (< tr>), чтобы увидеть их ....
текст я хочу, чтобы удалить это:
</тд> < тд класс = "mn31BBArrowTD"> </TD> </тр> </table> </TD> </TR> < tr> < td onmouseover = "dm.v (это, 1);" onmouseout = "dm.u (это);" id = "mnFE0BBC45_i3" onclick = "dm.ItClk (this, \ '\'); cmn.href (\ 'index.php \', \ '\');" class = "mn31BBMainMenuItemTD"> < Таблица border = "0" cellspacing = "0" cellpadding = "0"> < tr> < td class = "mn31BBIconTD"> < font class = "MG_Icons"> & #xe 746; </FONT> </тд> < тд класс = идентификатор "mn31BBTitleTD" = "mnFE0BBC45_i3-ТЛ">Имя
И mnFE0BBC45_i3-ТЛ и mnFE0BBC45_i3 не всегда то же самое, число меняется в зависимости от Имя.
Это путь я хочу сделать: Удалить все из Название к 4-му из < Внешность/TD>
код выше недействителен HTML (''
Это слово «Имя» будет присутствовать в каждом текстовом файле. а также, как долго текст – Afsar
намеренно ... это всего лишь пример ... в реальном файле каждый < /td > имеет свои – Ebarriosjr
ответ
неправильно требование в первую очередь; вот исправленная версия, которая ищет соответствующие совпадения перед «Name».
Между другими вхождениями «< \ td>« Я ищу только буквенно-цифровые символы и пробелы. Это может быть необходимо, чтобы добавить больше к этому классу символов, как тир или подчеркиванию ([[цифра, буква] \] +)
Выход:
Edit:
Здесь это небольшой скрипт на Perl, который делает то, что вы хотите:
источник
2015-01-20 12:24:28 nlu
Можете ли вы попробовать с новым кодом, который я написал в вопросе? Я не могу заставить его работать ... – Ebarriosjr
Ладно, это совсем другая история. Не могли бы вы разместить больше примеров того, что вы хотите удалить? В противном случае может быть много таких испытаний. – nlu
Можем ли мы использовать имя класса «mn31BBArrowTD» каким-то образом? – nlu
Попробуйте это:
Algo: 1) первый постион имени; 2) найдите позицию 3-го td из последних 3) затем обрезайте или создайте подстроку из этих двух позиций.
Выход:
источник
2015-01-20 11:46:35 Afsar
Можете ли вы попробовать с новым кодом, который я написал в вопросе? Я не могу заставить его работать ... – Ebarriosjr
Смежные вопросы