Правила за Търсене и Замяна + Regex

Търсенето и замяната са един от важните инструменти в този модул, чиято мощ не може да бъде надценена. Дори е по-трудно да се опишат всички възможни начини на използване.

На същност, търсенето и замяната представляват страница, на която можете да настроите промяна на данни след парсването. Тоест, това е мястото, където след парсването можете да направите промени, преди данните да бъдат изтеглени в магазина или ценовия лист.

Правила за Търсене и Замяна

Това е основното място за задаване на правила за замяна на данни.

9 tursene i zamqna - Правила за Търсене и Замяна + Regex

Всяко правило се записва на нов ред. Ако искате да замените нещо, указвате какво да се замени, след което наклонена черта (/) и на какво да се замени. Например, ако искате да замените “Дима” с “Богдан”, правилото ще изглежда така: Дима|Богдан На снимката по-горе се вижда как заменям низове с празни пространства. Това означава, че просто ги изтривам. cache/| -800×800-w-30-0-0|

Внимание!!! Ако сте много чувствителни към думи като “програмиране”, “код”, “конзола” и подобни, можете да пропуснете стъпка 3, за да не ви изглежда, че всичко е много сложно и неразбираемо. В стъпка 3 се описва функция, която помага в 0.01% от случаите. Този пункт е специално скрит за чувствителните.

Ако искате да замените символа | с нещо, например с !, можете да използвате регулярен израз {reg[#[|]#]}|! За регулярните изрази можете да научите повече по-долу в тази статия.

Основни оператори за търсене и замяна: {.} – Един произволен символ. {skip} – Любителски текст, произволен брой символи. С този оператор можете да изрежете всички HTML тагове, правилото ще изглежда така <{skip}>| {br} – Нов ред. Този оператор може да добави нов ред или да ги изреже. {csvnc} – Прехвърля се към нова колона в CSV файл. {csvnl} – Прехвърля се към нов ред в CSV файл.

Второстепенни оператори: Тези оператори се наричат второстепенни, защото рядко се използват и трябва да разбирате ясно какво правят.

{upper} – Премества текста към главни букви. Прилага се само вдясно от правилото. Пример: rassol2|{upper} – Това правило ще замени “rassol2” с “RASSOL2”. Тоест, можете да променяте регистъра на всички символи в текста. Това също работи с регулярни изрази.

{lower} – Премества текста към малки букви. Работи по същия начин като {upper}, но в обратен ред.

{.} – Любителски символи, произволен брой пъти. Фактически това е същото като {skip}, но работи в жаден режим. Жадният режим означава, че избирането на текста не спира на първото съвпадение, а продължава до последното. Пример: В този пример искам да покажа разликата между {skip} и {.}.

Тест за тест – Здравей, какви са ти плановете за вечерта?

Правило с {skip} Т{skip}а| Резултат ки са ти плановете за вечерта?

Правило с {.} Т{.}а| Резултат вечерта?

Както се вижда, {.} изрязва целия текст до последното съвпадение в текста, докато {skip} прави това само до първото. Ако {.} не намери съвпадение, до което да изреже, то ще изреже целия текст до края, докато {skip} няма да изреже нищо. Затова, ако искате да изрежете целия текст след определен символ, трябва да използвате {.*}.

Регулярни изрази: Модулът напълно поддържа търсенето чрез регулярни изрази.

Синтаксис на правилата с регулярни изрази За да напишете правило с използване на регулярни изрази, трябва да посочите регулярния израз в лявата част и какво да се замени в дясната. Например, ако искате да намерите всички цифри в текста и да ги замените с цифра 0, правилото ще изглежда така:

{reg[#[0-9]#]}|0

Във формата трябва сами да посочите разделителя в регулярния израз (максимумът от възможности).

Често използваните разделители са наклонена черта (/), решетка (#) и тилда (~). По-долу са представени примери на шаблони с правилни разделители.

/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]% Но аз настоятелно ви препоръчвам да използвате # като разделител. Така направих и тествах всичко с решетка # 🙂

Заключително, формата за указване на регулярния израз е {reg[#Вашето правило тук#]}

Регулярните изрази не са за всеки, а само за най-опитните. Те са универсални и гъвкави, но и сложни. Можете да намерите повече информация за регулярни изрази на този адрес: https://www.php.net/manual/ru/reference.pcre.pattern.syntax.php

9 regex - Правила за Търсене и Замяна + Regex

Също така оставям тук мини ръководство в картинки.

Можете да изтеглите краткото ръководство по регулярни изрази от този линк – https://simplepars.top/doc/reg.pdf Пълното ръководство – https://regex.sorokin.engineer/ru/latest/regular_expressions.html Можете да тренирате регулярните изрази на този ресурс – https://regex101.com/