Есть html-код вида:
"Имя: ФИО<br>
Телефон: ---<br>
E-mail: ---<br>
Cамовывоз<br>
Способ оплаты: Наличными<br>
Дополнительно: <br>это тест<br><br>
<table border=1 cellpadding=5> - и потом таблица"
Мне нужно получить из всего текста лишь "Самовывоз" (т.е. способ доставки) и "Наличными" (т.е. конкретный способ оплаты). Начал делать через DOMDocument, но не получается - лишь могу достать значения внутри парных тегов. Регуляркой не могу достать вовсе, хотя этот вариант применим, как думаю. Как это лучше сделать?
Поскольку в вашем тексте разделитель строк в целом очевиден, то можно просто разбить текст по нему с помощью explode()
, либо как вариант preg_split
(если вдруг могут быть как <br>
так и <br/>
тэги /<br\/?>/g
).
После разбиения третий элемент получившегося массива будет содержать искомую строку. Так что тут варианты
$data = explode('<br>', $txt);
$shipping = $data[3];
Либо
list(,,,$shipping) = explode('<br>', $txt);
Либо для пхп 7
[,,,$shipping] = explode('<br>', $txt);
Однако, надо быть уверенным, что строки (ФИО, телефон) выше не содержат <br>
, то есть вводимые данные должны экранироваться, и перед формированием данного html-кода нет вызова nl2br()
, к примеру.
Виртуальный выделенный сервер (VDS) становится отличным выбором
How create text from word doc format?
Имеется класс C++, написанный с применением управляемого кодаИ вот нелегкая привела меня вызвать в данном классе в одном из методов любой...