Вниз
Скачать: 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.024 c
15-1144484300
(AD)acid
2006-04-08 12:18
2006.04.30
Смерш 2 Василия Голвачева


4-1139568531
Vlad2
2006-02-10 13:48
2006.04.30
Как определить, нажата ли левая клавиша мыши


2-1144762527
Der Nechk@ssoff
2006-04-11 17:35
2006.04.30
Данные из ini


1-1143012456
arhis
2006-03-22 10:27
2006.04.30
Как спрятать PopupMenu? (-)


15-1144544890
Бугага
2006-04-09 05:08
2006.04.30
Updates for Windows




   Наверх