Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подсчитать к-во слов и символов в тексте
 
 автор: serjinio   (15.07.2008 в 12:56)   письмо автору
 
 

Помогите найти регулярку, для подсчета количества слов в тексте
и регулярку для подсчета к-ва знаков в тексте Заранее спасибо.

   
 
 автор: sms-send   (15.07.2008 в 14:13)   письмо автору
 
   для: serjinio   (15.07.2008 в 12:56)
 

Что считать "знаком"/"словом"?

   
 
 автор: serjinio   (15.07.2008 в 15:07)   письмо автору
 
   для: sms-send   (15.07.2008 в 14:13)
 

Слово--чистые слова больше двух букв
Знаки --это все что ест---а2ё1`0(*[?/|\/.,}je~; пробелы не считать знаком

   
 
 автор: sms-send   (15.07.2008 в 15:25)   письмо автору
 
   для: serjinio   (15.07.2008 в 15:07)
 

Просто не совсем понимаю что значит "чистые" слова. Из каких символов хоть состоят?

"123" заменить на класс символов, из которых состоят эти слова.
preg_match_all('~\\b[123]{3,}?\\b~', $text);


"456" заменить на класс символов, которые могут быть знаками (\\S ???).
preg_match_all('~[456]~', $text);

   
 
 автор: serjinio   (16.07.2008 в 01:11)   письмо автору
 
   для: sms-send   (15.07.2008 в 15:25)
 

Есть предложение
Просто не совсем понимаю что значит "чистые" слова. Из каких символов хоть состоят 1234567?

Мне в нем надо подсчитать количество слов больше двух букв ,без цифр и других символов например.....


Просто
совсем 
понимаю
что 
значит
чистые
слова
каких 
символов
хоть
состоят


Итого...Количество слов = 11

Прошу прощение ,что сумбурно выразил свою мысль...

   
 
 автор: sms-send   (16.07.2008 в 01:14)   письмо автору
 
   для: serjinio   (16.07.2008 в 01:11)
 

<?php

preg_match_all
('~\\b[А-Яа-яЁё]{3,}?\\b~'$text);

   
 
 автор: serjinio   (16.07.2008 в 01:22)   письмо автору
 
   для: sms-send   (16.07.2008 в 01:14)
 

Ругается на параметр
Warning: preg_match_all() expects at least 3 parameters, 2 given

   
 
 автор: sms-send   (16.07.2008 в 01:24)   письмо автору
 
   для: serjinio   (16.07.2008 в 01:22)
 

Действительно, 3ий параметр обязательный, можно подставить любую неиспользуемую переменную.

   
 
 автор: serjinio   (16.07.2008 в 01:30)   письмо автору
 
   для: sms-send   (16.07.2008 в 01:24)
 

Если б я чтото понимал в регулярных выражениях ,где этот третий параметр... :))

   
 
 автор: BinLaden   (16.07.2008 в 01:37)   письмо автору
 
   для: serjinio   (16.07.2008 в 01:30)
 

<?php
echo preg_match_all('~\\b[А-Яа-яЁё]{3,}?\\b~'$text$m); # 11
?>

   
 
 автор: serjinio   (16.07.2008 в 01:52)   письмо автору
 
   для: BinLaden   (16.07.2008 в 01:37)
 

Суперски....приятно иметь дело с профессионалами. Спасибо за помощь.sms-send и BinLaden
Я конечно дико извиняюсь, но можно еще попросить ,чтобы была возможность считать английские и русские слова ..

   
 
 автор: BinLaden   (16.07.2008 в 02:06)   письмо автору
 
   для: serjinio   (16.07.2008 в 01:52)
 

Отвечу Вам, как любитель: измените набор символов между "[" и "]" в паттерне:

[А-Яа-яЁёA-Za-z] - для всех слов, [А-Яа-яЁё] - состоящих только из кириллических букв, [A-Za-z] - из латинских.

P.S. В последнем варианте можно без страха указать просто [a-z] или [A-Z], добавив модификатор "i" - "~\\b[A-Z]{3,}?\\b~i"

   
 
 автор: serjinio   (16.07.2008 в 02:28)   письмо автору
 
   для: BinLaden   (16.07.2008 в 02:06)
 

Премного благодарен за помощь...и объяснение..начинаю немного понимать хоть чтото...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования