Търсенето и замяната са един от важните инструменти в този модул, чиято мощ не може да бъде надценена. Дори е по-трудно да се опишат всички възможни начини на използване.
На същност, търсенето и замяната представляват страница, на която можете да настроите промяна на данни след парсването. Тоест, това е мястото, където след парсването можете да направите промени, преди данните да бъдат изтеглени в магазина или ценовия лист.
Правила за Търсене и Замяна
Това е основното място за задаване на правила за замяна на данни.
Всяко правило се записва на нов ред. Ако искате да замените нещо, указвате какво да се замени, след което наклонена черта (/) и на какво да се замени. Например, ако искате да замените “Дима” с “Богдан”, правилото ще изглежда така: Дима|Богдан На снимката по-горе се вижда как заменям низове с празни пространства. Това означава, че просто ги изтривам. 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
Също така оставям тук мини ръководство в картинки.
Можете да изтеглите краткото ръководство по регулярни изрази от този линк – https://simplepars.top/doc/reg.pdf Пълното ръководство – https://regex.sorokin.engineer/ru/latest/regular_expressions.html Можете да тренирате регулярните изрази на този ресурс – https://regex101.com/