Возможно ли получение текста не привязываясь регулярками?

Статус
В этой теме нельзя размещать новые ответы.

асс

Мой дом здесь!
Регистрация
13 Окт 2006
Сообщения
762
Реакции
230
Есть вопрос?
Мне надо вынуть текст
к примеру по условию.
условие такое, в тексте есть N% текста, к примеру 10-50 слов теги тоже учитываем ,только те что указаны
(или же если в тексте например без учета тегов есть

из печатных букв [А-я]и [A-z]
В тексте есть теги <p></p><br></br>
 
Конечно можно. Просто разбить на слова/предложения/буквы и идит в цикле проверяя все и выдирая нужное.
 
Конечно можно. Просто разбить на слова/предложения/буквы и идит в цикле проверяя все и выдирая нужное.

А можно примерчик
простенький
нарпимер выдрать из текста


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

Напиши по-русски то, что хочешь. Я два раза перечитал, не понял
 
делай лучше регулярками. Большого увеличения скорости обработки ты не получишь, зато получишь до ужаса нечитабельный код.

Напиши по-русски то, что хочешь. Я два раза перечитал, не понял

Нужно выдрать текст,
который может иметь в своем коде,мусор ссылки теги,таблицы и так далее.
Выдрать нужно не просто все подряд. а только если условие положительное.

Ниже я показал кусок текста с мусором.
Выдираем текст только если предложение имеет
больше 2х 3 слов

вот пример
пройдите по ссылке под новостью и посмотрите код новости у источника.

Возможно ли получить тот же текст что указан
на сайте (ссылка под хайдом)
не используя привязку регулярками к тегам кода?
Выбрать по другому?
 
вот пример *** скрытое содержание ***
пройдите по ссылке под новостью и посмотрите код новости у источника.

Возможно ли получить тот же текст что указан
на сайте (ссылка под хайдом)
не используя привязку регулярками к тегам кода?
Выбрать по другому?

По ссылке сайта нет. всего лишь дефолтовая страница.

Вы вопрос неправильно ставите. Конечно возможно. Парсить можно множеством способов, например
1) регулярками
2) вычищать текст разными функциями языка и остаток забирать
3) просто разбить на части допустим предложения, а потом собирать воедино проверяя условия.
4) парсер на конечных автоматах. Удобен для парсинга различных выражений (проверка закрытой скобки, тэга и прочее). Небось те же регулярные выражения через конечные автоматы разбираются.
5) Паттерн интерпретатор. Это когда разбирается на синтаксическое дерево. Классический пример - DOM в html
...

Вид разбора зависит от условия. А условия до сих пор нормального не озвучено.
 
Ниже я показал кусок текста с мусором.
Выдираем текст только если предложение имеет
больше 2х 3 слов
ну немного нелогично выходит. Есть у тебя таблица ддопустим. Ты strip_tags() убрал все теги. В результате из целой таблицы у тебя вышло одно (!) предложение. Если такй вариант устраивает то все ок. Чисти текст от тегов, разбей текст по точкам, получишь предложения. Далее substr_count() считаешь количество пробелов. если более двух то по логике в предложении не менее 3х слов
 
В функции strip_tags или fgetss можно указывать параметр, какие теги не следует удалять и эти теги задавать условием. Иначе регулярки.
 
По ссылке сайта нет. всего лишь дефолтовая страница.

Вы вопрос неправильно ставите. Конечно возможно. Парсить можно множеством способов, например
1) регулярками
2) вычищать текст разными функциями языка и остаток забирать
3) просто разбить на части допустим предложения, а потом собирать воедино проверяя условия.
4) парсер на конечных автоматах. Удобен для парсинга различных выражений (проверка закрытой скобки, тэга и прочее). Небось те же регулярные выражения через конечные автоматы разбираются.
5) Паттерн интерпретатор. Это когда разбирается на синтаксическое дерево. Классический пример - DOM в html
...

Вид разбора зависит от условия. А условия до сих пор нормального не озвучено.


Я допустим могу вынуть текст нужный между тегов

к примеру регулярками. Но нужно составить скорее всего паттерн. Ведь если сменить щаблон то регулярка не сможет взять текст.
Или же надо писать универсальную регулярку.

Здесь важно чтоб текст был оригинальным.
Ну не изменен до неузнаваемости.
 
Код:
$text= trim(preg_replace('|[\s]+|s',' ',strip_tags($content)));
Более-менее очистит от тегов и не надо бояться регулярок...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху