|
|
|
| Существует строка $S - какой-то небольшой текст из 1-2 предложений.
нужно посчитать кол-во союзов, предлогов и т.п. в этой строке, если заранее имеем этот список, например:
а, в, и, с, в, на, но, ни, не, ...,
трудность еще в том, что они должны быть обязательно отдельным словом, и кроме пробелов могут разделяться знаками препинания. Так же могут быть в начале и конце текста. | |
|
|
|
|
|
|
|
для: sni
(13.07.2009 в 15:51)
| | Для этого есть спецсимвол \b - граница слова. | |
|
|
|
|
|
|
|
для: ddhvvn
(13.07.2009 в 16:35)
| | символ \b поможет отличить предлог от инициала? | |
|
|
|
|
|
|
|
для: Trianon
(13.07.2009 в 16:49)
| | нет, но у товарища проблема как "отгородить" пару букв от "лишнего".
а это уже больше на логическую проблему похоже... | |
|
|
|
|
|
|
|
для: ddhvvn
(13.07.2009 в 18:53)
| | может быть и так... | |
|
|
|
|
|
|
|
для: Trianon
(13.07.2009 в 18:58)
| | ... хотя можно ограничиться тем, что инициалы как бы заглавной буквой пишутся ... )) | |
|
|
|
|
|
|
|
для: ddhvvn
(13.07.2009 в 19:09)
| | ....удалено | |
|
|
|
|
|
|
|
для: sni
(13.07.2009 в 15:51)
| | А как примерно хоть на PHP то это реализовать? | |
|
|
|
|
автор: ....... (15.07.2009 в 13:49) |
|
|
для: sni
(14.07.2009 в 15:28)
| |
<pre><?
$str = 'влом тащить лом в лом';
$ar = split(',[ ]*', 'а, в, и, с, н[аоиe]');
//print_r($ar);
array_walk($ar, create_function('&$a', '$a="#\b" . $a ."\b#i";'));
print_r($ar);
print preg_replace($ar, '<b>$0</b>', $str);
|
| |
|
|
|
|
автор: .... (15.07.2009 в 13:55) |
|
|
для: .......
(15.07.2009 в 13:49)
| |
<?
print preg_match_all('#\b(?:[авис]|н[аоиe])\b#i', $str, $out);
|
| |
|
|
|