powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужна помощь. Как убрать теги в текстовом поле
12 сообщений из 12, страница 1 из 1
Нужна помощь. Как убрать теги в текстовом поле
    #40046360
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Добрый день !!!

Помогите пожалуйта справится с такой задачей:
В таблице есть текстовое поле:
IE_DETAIL_TEXT<p><b>Иванов</b></p><p><b>Иван </b><b>Иванович</b>Рост - 1.73 м<br></p><p><strong>

Как убрать теги чтобы значения в поле IE_DETAIL_TEXT выглядело: Иванов Иван Иванович Рост - 1.73 м

Количество тегов и текста разное.

Replace(Replace(IE_DETAIL_TEXT, "<p>", ""),"</p>","") - думаю плохой вариант.
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046362
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечный автомат.

Подозреваю, что кроме тегов, может потребоваться еще и символы > < & и прочие преобразовывать в обычные.
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046379
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

> < & таких символов нет
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046392
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alekx,

Код: vbnet
1.
2.
3.
4.
5.
6.
    Dim RegEx As Object: Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True
    RegEx.Pattern = "</?(p|b|strong)>"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")
    RegEx.Pattern = "\s{2,}"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046393
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду, что если есть теги, то вполне возможно встретить и сочетание букв "& a m p ;", "& g t ;", "& l t ;" и другие

А так конечный автомат:

читаем символ
если не tag и < - tag = true
если не tag и прочий символ - копируем в выходной поток
если tag и > - tag = false
если tag и прочий символ - просто игнорируем
гото в начало
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046401
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для ленивых
Код: vbnet
1.
2.
3.
4.
5.
6.
Function test1(html As String)
    With CreateObject("htmlfile")
        .body.innerHTML = html
        test1 = .body.outerText
    End With
End Function


только вот, перевод строки остается ...
Код: vbnet
1.
2.
3.
?test1("<p><b>Иванов</b></p><p><b>Иван </b><b>Иванович</b>Рост - 1.73 м<br></p><p><strong>")
Иванов
Иван ИвановичРост - 1.73 м
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046413
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court,

Может так побороть Replace(test1([IE_DETAIL_TEXT]);Chr(10);" ")?
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046429
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вариант
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Test()
    Dim strX As String, arrX() As Byte, c As Variant, ss, b
    strX = "<kf>бла<fd/>бла"
    arrX = StrConv(strX, vbFromUnicode)
     For Each c In arrX
    If c > 42 And c < 122 And c <> 62 Then c = 42
    If c = 62 Then c = 32
    ss = ss & Chr(c)
    Next
    Debug.Print ss
    b = Replace(Replace(ss, "* ", ""), "*", "")
    Debug.Print LTrim(b)
End Sub


Код: vbnet
1.
2.
*** бла**** бла
бла бла
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046439
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
для ленивых

И для особо ленивых , правда не VBA , a PHP
Код: php
1.
2.
3.
4.
5.
 <?php
  $string="<p><b>Иванов</b></p><p><b>Иван </b><b>Иванович</b>Рост - 1.73 м<br></p><p><strong>";
  echo strip_tags(preg_replace("/[<]/", ' <', $string));
?>
Иванов Иван Иванович Рост - 1.73 м 
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046441
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
только вот, перевод строки остается ..

Это не перевод , скорее всего абзац <p> отрабатывает.
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40046475
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Swa111
Alekx,

Код: vbnet
1.
2.
3.
4.
5.
6.
    Dim RegEx As Object: Set RegEx = CreateObject("VBScript.RegExp")
    RegEx.Global = True
    RegEx.Pattern = "</?(p|b|strong)>"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")
    RegEx.Pattern = "\s{2,}"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")



Я извиняюсь , в Вашем варианте не удаляет <br> , может так попробовать ???

Код: vbnet
1.
2.
3.
4.
5.
6.
    RegEx.Global = True
   'RegEx.Pattern = "</?(p|b|strong)>"
    RegEx.Pattern = "<.+?>"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")
    RegEx.Pattern = "\s{2,}"
    IE_DETAIL_TEXT = RegEx.Replace(IE_DETAIL_TEXT, " ")
...
Рейтинг: 0 / 0
Нужна помощь. Как убрать теги в текстовом поле
    #40047328
Alekx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем БОЛЬШОЕ СПАСИБО !!!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нужна помощь. Как убрать теги в текстовом поле
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]