- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день. Такая задача:
есть текст такого вида:
Средствами PHP нужно выбрать текст1 (то "тега" HEADER). И вывести его. Потом такое же сделать с текст2 и текст3
с текст1 я делаю так:
$products[$j]['description'] - как раз весь исходный текст
А вот как выбрать текст2 и текст3 (отдельно) уже не знаю, т.к здесь первый вариант уже не прокатит. Скажите пожалуйста - как лучше поступить?
Тут точно можно написать регулярку, которая вырежет одним махом все куски, но у меня опыта мало. Может, кто-нибудь еще подскажет. :)
Я бы резал извращенским методом через explode - сначала обрезаем по [HEADER], следующей итерацией обрезаем второй элемент получившегося массива по [CUT]
Соответственно, в массиве $result будут все лежать нужные вам тексты.
echo html_entity_decode(substr($str, strpos($str, 'HEADER')+1,strpos($str, 'CUT')-1));
части текста будут в элементах массива $substr[0], $substr[1] и $substr[2]
Либо explode строки сначала по первому разделителю, потом остаток по второму и т.д.
Ок, благодарю всех, буду пробовать
Dim565 добавил 04-03-2011 в 07:11
части текста будут в элементах массива $substr[0], $substr[1] и $substr[2]
Благодарю. Ваше решение сразу заработало и все очень удобно!
Dim565 добавил 04-03-2011 в 07:34
Извините за такие ламерские вопросы, но может кто еще подскажет:
хочу не писать такой код везде:
, а описать один раз этот код, а затем выводить где нужно: (потом 2 и 3-ий).Как можно это реализовать? Если пишу так:
где ...-другой php-код на странице- не работает. Видимо, тут нужны или функции или глобальные переменные? Искал в учебниках - везде только примеры, где глобальная переменная внутр <?php ... ?>
А чтобы код вызова переменной был вне основного PHP-кода - не нашел. Если открываю PHP, а знаки ?> ставлю в самом конце кода - тоже не работает
Почему не работает?
проверил, все отлично у меня работает)
<?php
$text = 'текст1[HEADER]
текст2[CUT]
текст3';
$substr = preg_split("/\[HEADER\]|\[CUT\]/m",$text);
echo $substr[0];
echo $substr[1];
echo $substr[2];
?>
проверил, все отлично у меня работает)
Вы сначала поймите, что именно не работает у человека, а потом уж говорите, что у вас все в порядке.
ТС, вам нужно вынести эту операцию в отдельную функцию в отдельный файл, а затем инклюдить его и вызывать функцию в нужном месте.
Примерно так
function.php
Другой файл
ЗЫ можно и без выноса в отдельную функцию или файл, но это если вам эта функция больше нигде не понадобиться.
Как можно это реализовать? Если пишу так: где ...-другой php-код на странице
- не работает. Видимо, тут нужны или функции или глобальные переменные? Искал в учебниках - везде только примеры, где глобальная переменная внутр <?php ... ?>
А чтобы код вызова переменной был вне основного PHP-кода - не нашел. Если открываю PHP, а знаки ?> ставлю в самом конце кода - тоже не работает
Где-то в другом месте ошибка.
Весь PHP код будет выполняться точно так же, как если бы он был написан
Глобальные переменные здесь не нужны.
Проверьте, что на промежутке между присвоением значения переменной $substr и ее выводом вы больше эту переменную не используете.
Сейчас снова перечитал, может быть дело-то в другом.
ТС, чо гадать на кофейной гуще? Выкладывайте код целиком, мы ж не экстрасенсы.