<?php
$input = <<<EOF
Сдесь есть много вариантов Lorem Ipsum, но большынство из них имеет не всегда
приемлемые модификации, например, юмористические вставки или слова, которые
даже отдалённо не напоминают латынь. Если вам нужен Lorem Ipsum для
серьёзного проекта, вы наверняка не хотите какой-нибудь шутки, скрытой
в середине абзаца.Также все другие известные генераторы Lorem Ipsum
используют один и тот же текст, который они просто повторяют, пока не
достигнут нужный объём. Это делает предлагаемый здесь генератор единственным
настоящим Lorem Ipsum генератором. Он использует словарь из более чем
200 латинских слов, а также набор моделей предложений. В результате
сгенерированный Lorem Ipsum выглядит правдоподобно,не имеет повторяющихся
абзацей или "невозможных" слов.
EOF ;
"rulePattern" => "/[.,;:!?][^ ].{0,10}/" ,
"ruleText" => "нет пробела после знаков препинания"
) ,
"rulePattern" => "/[жш]ы.{0,10}/ui" ,
"ruleText" => "«жи» или «ши» написано с буквой ы"
) ,
"rulePattern" => "/координально|сдесь|зделал|зделаю|зделан/ui" ,
"ruleText" => "в тексте есть слово «координально» или «сдесь», «зделал», «зделаю», «зделан»"
) ,
) ;
foreach ( $regexpRules as $rule ) {
echo "\n Проверка на правило: " . $rule [ 'ruleText' ] . "\n " ;
foreach ( $matches [ 0 ] as $error ) {
echo "Найдена ошибка: {$error} \n " ;
}
} else {
echo "Ошибок не найдено\n " ;
}
}
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKCiRpbnB1dCA9IDw8PEVPRgrQodC00LXRgdGMINC10YHRgtGMINC80L3QvtCz0L4g0LLQsNGA0LjQsNC90YLQvtCyIExvcmVtIElwc3VtLCDQvdC+INCx0L7Qu9GM0YjRi9C90YHRgtCy0L4g0LjQtyDQvdC40YUg0LjQvNC10LXRgiDQvdC1INCy0YHQtdCz0LTQsCAK0L/RgNC40LXQvNC70LXQvNGL0LUg0LzQvtC00LjRhNC40LrQsNGG0LjQuCwg0L3QsNC/0YDQuNC80LXRgCwg0Y7QvNC+0YDQuNGB0YLQuNGH0LXRgdC60LjQtSDQstGB0YLQsNCy0LrQuCDQuNC70Lgg0YHQu9C+0LLQsCwg0LrQvtGC0L7RgNGL0LUK0LTQsNC20LUg0L7RgtC00LDQu9GR0L3QvdC+INC90LUg0L3QsNC/0L7QvNC40L3QsNGO0YIg0LvQsNGC0YvQvdGMLiDQldGB0LvQuCDQstCw0Lwg0L3Rg9C20LXQvSBMb3JlbSBJcHN1bSDQtNC70Y8gCtGB0LXRgNGM0ZHQt9C90L7Qs9C+INC/0YDQvtC10LrRgtCwLCDQstGLINC90LDQstC10YDQvdGP0LrQsCDQvdC1INGF0L7RgtC40YLQtSDQutCw0LrQvtC5LdC90LjQsdGD0LTRjCDRiNGD0YLQutC4LCDRgdC60YDRi9GC0L7QuSAK0LIg0YHQtdGA0LXQtNC40L3QtSDQsNCx0LfQsNGG0LAu0KLQsNC60LbQtSDQstGB0LUg0LTRgNGD0LPQuNC1INC40LfQstC10YHRgtC90YvQtSDQs9C10L3QtdGA0LDRgtC+0YDRiyBMb3JlbSBJcHN1bSAK0LjRgdC/0L7Qu9GM0LfRg9GO0YIg0L7QtNC40L0g0Lgg0YLQvtGCINC20LUg0YLQtdC60YHRgiwg0LrQvtGC0L7RgNGL0Lkg0L7QvdC4INC/0YDQvtGB0YLQviDQv9C+0LLRgtC+0YDRj9GO0YIsINC/0L7QutCwINC90LUgCtC00L7RgdGC0LjQs9C90YPRgiDQvdGD0LbQvdGL0Lkg0L7QsdGK0ZHQvC4g0K3RgtC+INC00LXQu9Cw0LXRgiDQv9GA0LXQtNC70LDQs9Cw0LXQvNGL0Lkg0LfQtNC10YHRjCDQs9C10L3QtdGA0LDRgtC+0YAg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C8IArQvdCw0YHRgtC+0Y/RidC40LwgTG9yZW0gSXBzdW0g0LPQtdC90LXRgNCw0YLQvtGA0L7QvC4g0J7QvSDQuNGB0L/QvtC70YzQt9GD0LXRgiDRgdC70L7QstCw0YDRjCDQuNC3INCx0L7Qu9C10LUg0YfQtdC8IAoyMDAg0LvQsNGC0LjQvdGB0LrQuNGFINGB0LvQvtCyLCDQsCDRgtCw0LrQttC1INC90LDQsdC+0YAg0LzQvtC00LXQu9C10Lkg0L/RgNC10LTQu9C+0LbQtdC90LjQuS4g0JIg0YDQtdC30YPQu9GM0YLQsNGC0LUgCtGB0LPQtdC90LXRgNC40YDQvtCy0LDQvdC90YvQuSBMb3JlbSBJcHN1bSDQstGL0LPQu9GP0LTQuNGCINC/0YDQsNCy0LTQvtC/0L7QtNC+0LHQvdC+LNC90LUg0LjQvNC10LXRgiDQv9C+0LLRgtC+0YDRj9GO0YnQuNGF0YHRjyAK0LDQsdC30LDRhtC10Lkg0LjQu9C4ICLQvdC10LLQvtC30LzQvtC20L3Ri9GFIiDRgdC70L7Qsi4KRU9GOwokcmVnZXhwUnVsZXMgPSBhcnJheSgKCWFycmF5KAoJCSJydWxlUGF0dGVybiI9PiIvWy4sOzohP11bXiBdLnswLDEwfS8iLAoJCSJydWxlVGV4dCI9PiLQvdC10YIg0L/RgNC+0LHQtdC70LAg0L/QvtGB0LvQtSDQt9C90LDQutC+0LIg0L/RgNC10L/QuNC90LDQvdC40Y8iCgkJKSwKCWFycmF5KAoJCSJydWxlUGF0dGVybiI9PiIvW9C20Yhd0YsuezAsMTB9L3VpIiwKCQkicnVsZVRleHQiPT4iwqvQttC4wrsg0LjQu9C4IMKr0YjQuMK7INC90LDQv9C40YHQsNC90L4g0YEg0LHRg9C60LLQvtC5INGLIgoJCSksCglhcnJheSgKCQkicnVsZVBhdHRlcm4iPT4iL9C60L7QvtGA0LTQuNC90LDQu9GM0L3QvnzRgdC00LXRgdGMfNC30LTQtdC70LDQu3zQt9C00LXQu9Cw0Y580LfQtNC10LvQsNC9L3VpIiwKCQkicnVsZVRleHQiPT4i0LIg0YLQtdC60YHRgtC1INC10YHRgtGMINGB0LvQvtCy0L4gwqvQutC+0L7RgNC00LjQvdCw0LvRjNC90L7CuyDQuNC70LggwqvRgdC00LXRgdGMwrssIMKr0LfQtNC10LvQsNC7wrssIMKr0LfQtNC10LvQsNGOwrssIMKr0LfQtNC10LvQsNC9wrsiCgkJKSwKCSk7CiRtYXRjaGVzID0gYXJyYXkoKTsKZm9yZWFjaCgkcmVnZXhwUnVsZXMgYXMgJHJ1bGUpewoJZWNobyAiXG7Qn9GA0L7QstC10YDQutCwINC90LAg0L/RgNCw0LLQuNC70L46ICIuJHJ1bGVbJ3J1bGVUZXh0J10uIlxuIjsKCWlmIChwcmVnX21hdGNoX2FsbCgkcnVsZVsncnVsZVBhdHRlcm4nXSwgJGlucHV0LCAkbWF0Y2hlcykpewoJCWZvcmVhY2goJG1hdGNoZXNbMF0gYXMgJGVycm9yKXsKCQkJZWNobyAi0J3QsNC50LTQtdC90LAg0L7RiNC40LHQutCwOiB7JGVycm9yfVxuIjsKCQl9Cgl9IGVsc2UgewoJCWVjaG8gItCe0YjQuNCx0L7QuiDQvdC1INC90LDQudC00LXQvdC+XG4iOwoJfQp9