php search for p content

0

How can I get the 'VALOOR'

<p id="sinopse2" style="display:block !important;">VALOOR</p>

I tried this code:

preg_match_all("#<p id=\"sinopse2\">(.*?)<\/p>#s", $string, $encontrou);

But I did not succeed; (

    
asked by anonymous 26.07.2018 / 23:57

2 answers

1

Use the following code:

preg_match_all("/<p[^>]*id=\"sinopse2\"[^>*]*>(.*)<\/p>/", $html, $output);
var_dump($output);

Explanation of Regex:

<p.+id=\"sinopse2\"[^>*]*>(.*)<\/p>
│  │       │            │     │   │
│  │       │            │     │   └────── Informa o limite da seleção
│  │       │            │     └────────── Captura o grupo que está entre '<p>'
│  │       │            └──────────────── Seleciona todos os caracteres até '>'
│  │       └───────────────────────────── Informa o ID do elemento
│  └───────────────────────────────────── Selecione tudo até o ID
└──────────────────────────────────────── Informa a tag

Demo

    
27.07.2018 / 01:05
0
$qtd = '<p id="sinopse2" style="display:block !important;">VALOOR</p>';

$out = trim(strip_tags($qtd));

echo $out; //VALOOR
  

strip_tags - Removes HTML and PHP tags from a string

Example - ideone

Another example:

$qtd = '<p id="sinopse2" style="display:block !important;">Aqui temos o conteudo da tag p que não é necessariamente VALOOR</p>';

$out = trim(strip_tags($qtd));

echo $out; //Aqui temos o conteudo da tag p que não é necessariamente VALOOR

running - ideone

    
27.07.2018 / 01:29