Skip to content

Commit

Permalink
fix remove html entity in DelDouble (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
akhx authored Apr 21, 2023
1 parent 75e01b3 commit f15c3d3
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 13 deletions.
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# Changelog
## [Unreleased](https://github.com/akhx/typograf/compare/v0.4.8...HEAD)
## [Unreleased](https://github.com/akhx/typograf/compare/v0.4.9...HEAD)

## [0.4.7](https://github.com/akhx/typograf/compare/v0.4.7...v0.4.8) - 2023-02-15
## [0.4.9](https://github.com/akhx/typograf/compare/v0.4.8...v0.4.9) - 2023-04-21
* fix remove html entity in DelDouble

## [0.4.8](https://github.com/akhx/typograf/compare/v0.4.7...v0.4.8) - 2023-02-15
* fix README
* debug mode
* replace quote to html entity

## [0.4.6](https://github.com/akhx/typograf/compare/v0.4.6...v0.4.7) - 2022-12-08
## [0.4.7](https://github.com/akhx/typograf/compare/v0.4.6...v0.4.7) - 2022-12-08
* fix izZaPod

## [0.4.6](https://github.com/akhx/typograf/compare/v0.4.5...v0.4.6) - 2022-06-23
Expand Down
14 changes: 9 additions & 5 deletions src/Rule/Punctuation/DelDouble.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

class DelDouble extends AbstractRule
{
public $name = 'Лишние знаки припинания';
public $name = 'Лишние знаки препинания';

protected $settings = [
'maxLenMark' => 3,
Expand All @@ -15,16 +15,20 @@ class DelDouble extends AbstractRule
public function handler(string $text): string
{
$pattern = [
'#([,:;]){2,}#iu',
'#([.]){4,}#iu',
'#([!]){' . ($this->settings['maxLenMark'] + 1) . ',}#iu',
'#([?]){' . ($this->settings['maxLenMark'] + 1) . ',}#iu',
'#(,){2,}#iu',
'#(:){2,}#iu',
'#(&\w+;;);+|((^|\s)(\w+;));+#iu',
'#(\.){4,}#iu',
'#(!){' . ($this->settings['maxLenMark'] + 1) . ',}#iu',
'#(\?){' . ($this->settings['maxLenMark'] + 1) . ',}#iu',
'#(^|[^!])!{2}($|[^!])#iu',
'#(^|[^?])\?{2}($|[^?])#iu',
];

$replace = [
'$1',
'$1',
'$1$2',
'$1$1$1',
str_repeat('$1', $this->settings['maxLenMark']),
str_repeat('$1', $this->settings['maxLenMark']),
Expand Down
2 changes: 1 addition & 1 deletion src/Typograf.php
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ protected function initRules(): void

foreach ($all as $ruleClass) {
/**
* @var Rule\AbstractRule
* @var Rule\AbstractRule $ruleObj
*/
$ruleObj = new $ruleClass();
$this->rules[$ruleClass] = $ruleObj;
Expand Down
28 changes: 24 additions & 4 deletions tests/Rule/Punctuation/DelDoubleTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ public function dataProvider(): array
{
return [
[
'У меня была только синяя краска;; но,, несмотря на это,, я затеял нарисовать охоту.',
'У меня была только синяя краска; но, несмотря на это, я затеял нарисовать охоту.',
'У меня была только синяя краска;; но,, несмотря на это,,, я,,,, затеял нарисовать охоту.',
'У меня была только синяя краска; но, несмотря на это, я, затеял нарисовать охоту.',
],
[
'Никогда не отказывайся от малого в работе:: из малого строится великое.',
'Никогда не отказывайся от малого в работе: из малого строится великое.',
'Никогда;;; не отказывайся от малого в работе:: из малого::: строится великое.',
'Никогда; не отказывайся от малого в работе: из малого: строится великое.',
],
[
'Что??????',
Expand All @@ -54,6 +54,26 @@ public function dataProvider(): array
'Опа!?????',
'Опа!???',
],
[
'Привет;;',
'Привет;',
],
[
'Привет;;;',
'Привет;',
],
[
'«Привет», мир!',
'«Привет», мир!',
],
[
'- «Привет1»;',
'- «Привет1»;',
],
[
'- «Привет2»;;',
'- «Привет2»;',
],
];
}
}

0 comments on commit f15c3d3

Please sign in to comment.