Вниз
Скачать: CL | DM;

PHP: Регулярные выражения   Найти похожие ветки 

← →
homm ©   (2006-04-09 14:02) [0]

Есть исходный HTML-текст, в нем нужно заменить все пробелы на   При этом конечно нужно учитывать то, что пробелы в тегах заменять не надо, а также по возможности учесть то, что закрывающий символ тега  > может встретится и в свойствах тега (т.е. <tag property="<value>" />).
Как это можно реализовать на RegEx или PCRE, или придется вручную синтаксис разбирать?


← →
OSokin ©   (2006-04-09 14:17) [1]

Наверное, придется разбирать вручную, перебирая каждый символ


← →
Ketmar ©   (2006-04-09 15:36) [2]

ой, сомневаюсь я, что регэксп будет сочинить (и отладить!) проще, чем ручную софтину... даже с ходу и не придумаю, что тут писать...


← →
programania ©   (2006-04-09 22:15) [3]

Получить массив сравнившихся регов "".*?""  с позициями, заполнить их "-"
Получить массив сравнившихся регов "<.*?>"  с позициями, заполнить их "-"
заменить пробелы
восстановить из массивов значения на их позициях


← →
homm ©   (2006-04-10 00:04) [4]


> programania ©   (09.04.06 22:15)
Спасибо.


> Получить массив сравнившихся регов "".*?""  с позициями,
> заполнить их "-"
А разве такой рег не скушает все ""? Все-же вероятность появления "<" в свойствах невелика, так что можно и без них.


> Есть исходный HTML-текст, в нем нужно заменить все пробелы на  

На самом деле там не просто так 3 пробела после предлга "на", там nbsp :) так что придется с получеными массивами позиций еще шаманить


← →
programania ©   (2006-04-10 02:12) [5]

>А разве такой рег не скушает все ""?

скушает но их можно восстановить:
скопировать html
что сравниться с "".*?"" заполнить chr(0)
что сравниться с "<.*?>" заполнить chr(1)
восстановить из копии все где chr(0)
заменить пробелы или nbsp
восстановить из копии все где chr(1)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
2-1144733271
tigra
2006-04-11 09:27
2006.04.30
Ширина колонок таблицы в Word


15-1144404748
Vlad
2006-04-07 14:12
2006.04.30
Задачка из жизни.


15-1144171175
-=Z=-
2006-04-04 21:19
2006.04.30
Inter Base


15-1144389320
Indulf
2006-04-07 09:55
2006.04.30
Модуль для работы с БД


2-1145006273
elfebet
2006-04-14 13:17
2006.04.30
Как из строки program_#12345#.exe вырезать прочесть 123456




   Наверх