- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Вопрос к знатокам: как заменить кавычки (") на "елочки" («) в строке текста, который содержит теги внутри которых есть кавычки.
Например: текст "текст" текст <a href="текст" class="текст">"текст"</a>
Надо: текст «текст» текст <a href="текст" class="текст">«текст»</a>
addvert добавил 18.07.2009 в 17:52
Делал: $str = ereg_replace(" \"", " «", $str);
$str = ereg_replace("\" ", "» ", $str);
$str = ereg_replace("\",", "»,", $str);
$str = ereg_replace("\"\.", "».", $str);
Однако с тегами проблема внутри они тоже заменяются.
addvert, покажите кусок текста с кавычками и тэгами. Если без изысков, то в обычном тексте перед открывающейся кавычкой должен быть пробел, а в тэге =
Поэтому можно попробовать что-то типа
preg_replace ("#\s+\"([^\"]+)\"#", " »\\1»", $str);
P.S. Регулярку не проверял, по логике где-то так, мелочи сами подправьте.
P.P.S А ещё лучше так
preg_replace ("#([^=])\"([^\"]+)\"#", "\\1»\\2»", $str);
Спасибо, работает!:)
Спасибо, работает!
Для полного счастья попробуйте разобраться как это работает. Знание регулярок ещё никому не мешало :)
Оно работает, пока в тексте нет обработчиков js и свойства тегов пишутся в одинарных кавычках. Имхо правильнее всё-таки проверять в теге находится кавычка или вне его. Например такая ситуация не будет отрабатываться регуляркой выше правильно:
Да, в этом случае не работает. А как регулярку написать для <"текст в кавычках">
addvert добавил 25.07.2009 в 01:11
bearman, спасибо Вам. Отличный вариант. а то с регуляркой действительно замучился.
Замена кавычек на елочки в html по bearman'у:
Еще раз спасибо!
Модифицированный вариант, часть регулярок заменена на строковые функции (в теории оно вроде как быстрее).
Только теги руками вырезать ломает )