powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
9 сообщений из 9, страница 1 из 1
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37760768
AlexSSSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дано:
На входе строка вида:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
<question>
	<const>
		2101
	</const>
	<displayname>
		Модель
	</displayname>
</question>


На выходе надо получить то, что между <const> и </const>
Пока делаю так:
1. Ищу второе включение >
2. Удаляю с первой по эту позицию.
3. Ищу первое включение <
4. Удаляю с нее до конца.
Вопрос: а как-то изящее это можно сделать?
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37760812
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
preg_match('#<const>(.*)</const>#is', $text, $matches)
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37760837
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37760908
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexSSSS,

зачем привязываться к второму вхождению > когда можно к самому тегу:
Код: php
1.
2.
3.
$p1 = strrpos($str,'<const>')+strlen('<const>');
$p2 = strpos($str,'</const>');
$const = trim(substr($str, $p1, $p2-$p1));
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37761044
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если тегов будет несколько, то велосипеду придется приделать еще колес.
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37761106
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettА если тегов будет несколько, то велосипеду придется приделать еще колес.
вот вот, почему нельзя ее распарсить это как XML и использовать в тупую индесацию?? Пару строчек, и универсальней становиться.
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37762217
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettА если тегов будет несколько, то велосипеду придется приделать еще колес.
тег один - это условие начальной задачи!
если тегов будет несколько - значит полностью меняется входной формат и следовательно конечно надо менять логику обработки. это касается любого варианта: с регуляркой, и с strpos или c использованием готового xml-парсера.
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37762218
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ренатвот вот, почему нельзя ее распарсить это как XML
принцип KISS
...
Рейтинг: 0 / 0
PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
    #37762380
Edd.Dragon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r uэто касается любого варианта: с регуляркой, и с strpos или c использованием готового xml-парсера.
Регулярки это касается очень условно. Ею без проблем найти все вхождения. Или дополнить до нескольких разных тегов.
Вручную strpos-ом - это как записки из камня вытесывать при наличии карандаша и бумаги.
Ну а XML раскладывать - это если сервер курит без дела и больше нечем его занять (в упор не понимаю, когда в подобных задачках аля "найти кусок текста" предлагают парсить в древовидную структуру, как-будто нам потом все это редактировать).

Средства шаблонного поиска/замены как раз ведь для таких задачек и придуманы.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: вырезать часть текста. Сделать "красивше" чем делаю - как?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]