PHP функция для парсинга шаблона.
Здравствуйте.
Нужно написать функцию.
Требования.
- PHP 7.
- Функция должна на основе строки (шаблона) вернуть структуру.
- На вход получает строку (шаблон).
- На выход возвращает многомерную структуру (массив ассоциативных массивов)
- Если в тексте есть фигурные скобки, то они обрабатываются специальным образом.
- {for array_name} - начало цикла for
- {for} - окончание цикла for
- {some_name} - имя переменной.
- Если в тексте встречаются следующие наборы символов (слева от ->), то в конечной структуре они должны быть преобразованы в соответствующие (справа от ->):
- \{ -> {
- \} -> }
- \\ -> \
- {{ -> {
- }} -> }
- \n -> перенос строки
- Учесть вложенность циклов друг в друга.
- Должна быть отдельная функция, которая обрабатывает {for array_name} ... {for} инструкцию и возвращает ассоциативный массив.
- Должна быть отдельная функция, которая обрабатывает {var} - инструкцию и возвращает ассоциативный массив.
Пример:
Из
Просто текст
Должно быть:
[
{
type: text
content: Просто текст
}
]
Переменные
Если в тексте встречается строка в фигурных скобках, то помечается переменной.
Из
Меня зовут {First_Name}.
Должно быть:
[
{
type: text
content: Просто текст
}
{
type: var
name: First_Name
}
{
type: text
content: Просто текст
}
]
Циклы
Если встречается структура вида {for Some_Name} ... {for}, то это рассматривается как цикл.
Из
<h1>Список пользователей</h1>
<ul>
{for users}
<li>{num}. {key}: {item.name}</li>
{for}
</ul>
Должно быть:
[
{
type: text
content: '<h1>Список пользователей</h1>
<ul>'
}
{
type: for
var: users
content: [
{
type: text
content: <li>
}
{
type: var
name: num
}
{
type: text
content: ". "
}
{
type: var
name: key
}
{
type: text
content: ": "
}
{
type: var
name: item.name
}
{
type: text
content: "</li>"
}
]
}
{
type: text
content: Просто текст
}
{
type: text
content: '<ul>'
}
]
-
Здравствуйте!
Опыт в парсинге более 4-х лет. Готов приступить сразу после принятия условий. Срок - день
-
902 23 0 дравствуйте, буду рад выполнить Ваш заказ.
Сделаю все быстро и качественно. Буду рад сотрудничеству!
Языки: PHP, HTML, CSS, JavaScript
PWA: Quasar, Vue, JavaScript
FrontEnd: Vue.JS , VueTify JS, Nuxt JS
BackEnd: PHP, Node.JS, Laravel 5.8, Yii2
СУБД: MySQL, ELOQUENT ORM
-
Здравствуйте. Данный функционал надо куда то встроить?
-
Aktualne zlecenia dla freelancerów w kategorii PHP
Napisać metadane ALT za pomocą AIStrona na Laravel, na stronie jest wiele obrazów, dla których należy automatycznie wpisać poprawne semantycznie i odpowiednie dla strony opisy ALT, z możliwością weryfikacji AI i uczenie maszynowe, PHP ∙ 16 godzin 55 minut temu ∙ 28 ofert |
Dopracowanie strony na Ocstore 3
57 PLN
Ocstore 3 Szablon Upstore Poprawić niektóre kwestie https://docs.google.com/document/d/1-TmTo3lh_ElFjPMQCGs2sVCsVSzq-V-Z/edit?usp=sharing&ouid=105344407605205919725&rtpof=true&sd=true Oczekuję na wasze propozycje PHP, Programowanie stron internetowych ∙ 20 godzin 35 minut temu ∙ 62 oferty |
Potrzebny programista do zakończenia i integracji projektu automatycznego zbierania i przetwarzania danych
57 PLN
Główna część parsera została już zrealizowana. Parser działa w środowisku Windows przez Microsoft Edge: strona ma ochronę antybotową, dlatego zbieranie danych odbywa się nie przez bezpośrednie zapytania HTTP, ale przez aktywną sesję przeglądarki. Skrypty zarządzają otwartą kartą… PHP, Programowanie stron internetowych ∙ 22 godziny 51 minut temu ∙ 20 ofert |
Aktualizacja wtyczek i motywów WP strony putevka.uz„Należy przeprowadzić audyt techniczny strony WordPress, sprawdzić aktualność, bezpieczeństwo i kompatybilność zainstalowanych wtyczek i motywu. Na podstawie wyników — zaproponować legalne opcje aktualizacji, wymiany przestarzałych rozwiązań lub przejścia na oficjalnie dostępne… Układ HTML i CSS, PHP ∙ 1 dzień 1 godzina temu ∙ 34 oferty |
Integracja bloku "Gdzie oglądać" (Laravel / Livewire)Potrzebna jest integracja zewnętrznej platformy streamingowej dla strony o filmach i serialach na Laravel / Livewire. Co należy zrobić: Zaimplementować import zewnętrznego katalogu treści, który jest aktualizowany raz dziennie. Wykonywać dopasowanie treści według IMDb ID i/lub… PHP, Programowanie stron internetowych ∙ 1 dzień 15 godzin temu ∙ 37 ofert |