PHP permite tags img apenas
-
28-09-2019 - |
Pergunta
Eu preciso do seu PHP relacionado à sua assistência. No PHP, quero permitir HTML <img>
Somente tags, tentei a função interna do PHP strip_tags()
Mas não está me dando a saída de que preciso. Por exemplo, no código a seguir strip_tags()
Permite tags IMG, mas junto com o texto.
$img = "<img src='/img/fawaz.jpg' alt= ''> <br /> <p> This is a detailed paragraph about Fawaz and his mates.</p>";
echo strip_tags($img , "<img>");
Qual seria a maneira correta de apenas permitir <img>
ou qualquer tag apenas da função ou variável. Qualquer ajuda não será apreciada.
Obrigado
Solução
Isso pode ser devido à tag IMG não fechada em seu código. Tente isso
$img = "<img src='/img/fawaz.jpg' alt= '' /> <br /> <p> This is a detailed paragraph about Fawaz and his mates.</p>";
echo strip_tags($img , "<img>");
Outras dicas
strip_tags()
Não funciona dessa maneira que você quer que isso se comporte. Se fornecidos com um segundo argumento, as tags listadas poderão fazer parte da string resultante - exceto aquelas que não estão listadas. E não filtrará o texto interno.
Se você quiser extrair <img/>
Apenas elementos, nem pense em usar um regex. Use um analisador dom para isso:
libxml_use_internal_errors(true);
$doc=new DOMDocument;
$html=$doc->loadHTML('<img src="/img/fawaz.jpg" alt= ""> <br /> <p> This is a
detailed paragraph about Fawaz and his mates.</p>');
$path=new DOMXPath($doc);
foreach ($path->query('//img') as $found)
var_dump($doc->saveXML($found));
Exclua tags HTML sem <img>
e <a>
e <br/>
e <hr/>
e ...
$img = "
<img src='/img/fawaz.jpg' alt= '' />
<br /><br/>
<hr/>
<p> This is a detailed paragraph about Fawaz and his mates.</p>
<a href='cft'>123</a>
";
$img = strip_tags($img , "<img>|<a>|<br>|<hr>");
echo $img;