Regex получить строку в теге <p></p> - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть этот код:

$body = '<p>awesometext:data</p>';
preg_match_all("/<p>([^<]+)<\/p>/", $body, $matches);
$string = array_map('trim', $matches[1]);

В результате я получаю пустой массив $string.Как я могу это исправить?

Строка может быть больше.Пример:

$body = '<p>awesometext:data</p><p>othertext:data</p><p>sss:sddd</p>'; //e.t.c

1 Ответ

0 голосов
/ 31 декабря 2018

Если я вас правильно понял, получить строки внутри тега p вы можете:

let str = '<p>awesometext:data</p><p>othertext:data</p><p>sss:sddd</p>';
let matches = str.replace(/<p>|<\/p>/gi, ' ').trim().match(/([a-z]+?:[a-z]+)/gi);

matches вернет массив строк.Обратите внимание, что вышеприведенное выражение не решает для крайних случаев.т. е. ведущие / следовые пробелы и т. д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...