- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Прошу помощи в работе с регулярными выражениями. Есть огромный HTML файл, имеющий очень много блоков контента, включающих в себя строки вида
<h2><b>Заголовок2</b></h2>
<h1>Заголовок1</h1>
Необходимо поменять строчки местами и сделать
<h1>Заголовок1</h1>
<h2><b>Заголовок2</b></h2>
Спасибо за помощь.
ну как-то так:
$filedata = preg_replace("/(<h2>.*<\/h2>)(\s*?)(<h1>.*<\/h1>)/i", "$3$2$1", $filedata);
preg_replace("/(<h2>.*<\/h2>)([\s\n]+)(<h1>.*<\/h1>)/i", "$3$2$1", $filedata);
preg_replace("/(<h2>.*<\/h2>)([\s\n]+)(<h1>.*<\/h1>)/i", "$3$2$1", $filedata);
е***утым нет покоя, то одно им то другое?)
\s включает все пробельные символы
$filedata = preg_replace("/(<h2>.*<\/h2>)(\s*?)(<h1>.*<\/h1>)/i", "$3$2$1", $filedata);
е***утым нет покоя, то одно им то другое?)
Вот уж действительно нет покоя, сначала выбирать в качестве ограничителей регулярки / , а потом городить забор типа этого /\/\/\/\/\/\/\/\/\/\/ , в выражениях вида <\/h2> ... вместо того что бы выбрать ограничителем ~ (допустим) и не париться.
Пишем только потому, что постоянно встречаем код вида ""\"\"\"\"\"\"\"\"\"" вместо '"""""""' в строках и /\/\/\/\/\/\/\/\/\/\/ вместо допустим ~//////~ в регулярках, при чем у советующих людей. Окей, пусть это мелочь, пусть это ерунда, но елки палки, неужели Вас не парит набирать столько слэшей, вместо того что бы решить вопрос вообще без них? Пусть не парит, но советовать-то такой стиль зачем?! Окей, пусть советуете такой стиль, но зачем других-то обзывать после этого? :D
Сорри, накипело:)
Народ ещё 1 вопрос по рег выражениям.
Имеется огромный html файл, содержащий много списков, каждая строка каждого списка заканчивается тегом <br />. Например:
Заяц<br />
Лиса<br />
Волк<br />
Осёл<br />
Мне нужно во всём html файле поменять местами между собой строки заканчивающиеся тегом <br />
Например первую с четвёртой и вторую с третьей(т е строку с 1-м вхождением <br /> на строку с 4-м вхождением <br />).
Спасибо за помощь.
Народ ещё 1 вопрос по рег выражениям.
Имеется огромный html файл, содержащий много списков, каждая строка каждого списка заканчивается тегом <br />. Например:
Заяц<br />
Лиса<br />
Волк<br />
Осёл<br />
Мне нужно во всём html файле поменять местами между собой строки заканчивающиеся тегом <br />
Например первую с четвёртой и вторую с третьей(т е строку с 1-м вхождением <br /> на строку с 4-м вхождением <br />).
Спасибо за помощь.
ну тут помоему и регулярными выражениями не пахнет...
самое простое решение загнать все строки файла в массив и сменить порядок на обратный.
примерно так:
$pathfile = 'myfille.html';
file_put_contents($pathfile, implode('', array_reverse(file($pathfile))));
Пример неудачный привёл. Порядок нужен не обратный, а тот который я укажу.
j1gs4w88, так надо обозначить порядок сразу
Ок. Порядок будет такой. 5 строк оканчивающиеся<br />. 5 1 3 4 2
где то так
$filedata=preg_replace("#([^<]+)<br />[\s\n]*([^<]+)<br />[\s\n]*([^<]+)<br />[\s\n]*([^<]+)<br />[\s\n]*([^<]+)<br />[\s\n]*#i", "$5<br/>$1<br/>$3<br/>$4<br/>$2<br/>", $filedata);