Что нового

[Данные, строки] Отсеивание и обработка строк.

Gzzk

Новичок
Сообщения
104
Репутация
1
Всем привет.
Есть строка из n-ого кол-ва строк,по ней нужно пройти циклом и если в ней встречается,допустим,"<h1>" - прогнать через StringRegExpReplace,выпиливая всё кроме <h1>.
Не набросаете хотя бы что-то похожее?
Заранее благодарю.
 

ivsatel

Продвинутый
Сообщения
319
Репутация
84
Код:
$sText = 'zkjzkjzkjzkjz<h1>ABCDEFG<h1>jzgjzgjzgjzgjzg'
$sPattern = '[^<h1>]'
$sResult = StringRegExpReplace($sText, $sPattern, '')

MsgBox('','', $sResult)
 

Black_Hole

Знающий
Сообщения
126
Репутация
11
в HTML все теги делятся на открывающие <h1> и закрывающие </h1>, кроме наверно табуляций и переходов, к тому же у тега может быть класс или индикатор, я думаю идеальная регулярка это удалять все что начинается с < и заканчивается > и с исключением <h1
 
Автор
G

Gzzk

Новичок
Сообщения
104
Репутация
1
Так а как циклом пройтись по всем строкам?
 

Денис

Знающий
Сообщения
35
Репутация
8
Сохраните все строки(содержимое страницы) в одну переменную, а функция StringRegExpReplace() приведенная выше сделает все необходимые замены.

Правда шаблоны стоило бы несколько изменить, но в том виде в котором Вы поставили задачу, приведенных шаблонов Выше вполне достаточно.
 

Black_Hole

Знающий
Сообщения
126
Репутация
11
Как то так ;)

Код:
$a = '<.\w[A-Za-z0-9]{0,255}>'			;Что удалять: все что в кавычках A-z 0-9 <*****>
$b = FileRead(FileOpen('.\001.txt',0))	;Открываем файл
$c = StringRegExpReplace($b, $a, '')	;Удаляем мусор
FileWrite(FileOpen('.\002.txt', 2), $c)	;Сохраняем результат
 
Верх