0

Please help me sir. How to parse multiple tag using php

<?php
function getTextBetweenTags($string, $tagname) 
{ 
$pattern = "/<$tagname ?.*>(.*)<\/$tagname>/"; 
preg_match($pattern, $string, $matches); return $matches[1]; 
}
$str = '<mp4>hxxps://test.com/vid1.mp4</mp4><mp4>hxxps://test.com/vid2.mp4</mp4><mp4>hxxps://test.com/vid3.mp4</mp4><mp4>hxxps://test.com/vid4.mp4</mp4><mp3>hxxps://test.com/music1.mp3</mp3><mp3>hxxps://test.com/music2.mp3</mp3>';
echo getTextBetweenTags($str, "mp4"); // hxxps://test.com/vid4.mp4
?>

how to get ouput by list tag from mp4 example :

hxxps://test.com/vid1.mp4

hxxps://test.com/vid2.mp4

hxxps://test.com/vid3.mp4

hxxps://test.com/vid4.mp4

Eyus Wap
  • 39
  • 3
  • See [`strip_tags()`](https://www.php.net/manual/en/function.strip-tags.php), when you require more features see [`DOMDocument`](https://www.php.net/manual/en/class.domdocument.php) – Code4R7 Jul 01 '21 at 13:59
  • Answer: `$str = 'hxxps://test.com/vid1.mp4hxxps://test.com/vid2.mp4hxxps://test.com/vid3.mp4hxxps://test.com/vid4.mp4hxxps://test.com/music1.mp3hxxps://test.com/music2.mp3'; print strip_tags(str_replace('><', '>' . PHP_EOL . '<', $str));` – Code4R7 Jul 01 '21 at 14:07

1 Answers1

-2
<?php
function getTextBetweenTags($string, $tagname) 
{ 
$pattern = "/<{$tagname}>(.*?)<\/{$tagname}>/"; 
preg_match_all($pattern, $string, $matches); return $matches[1]; 
}
$str = '<mp4>hxxps://test.com/vid1.mp4</mp4><mp4>hxxps://test.com/vid2.mp4</mp4><mp4>hxxps://test.com/vid3.mp4</mp4><mp4>hxxps://test.com/vid4.mp4</mp4><mp3>hxxps://test.com/music1.mp3</mp3><mp3>hxxps://test.com/music2.mp3</mp3>';
print_r(getTextBetweenTags($str, "mp4")); // hxxps://test.com/vid4.mp4
?>

Result

Array
(
    [0] => hxxps://test.com/vid1.mp4
    [1] => hxxps://test.com/vid2.mp4
    [2] => hxxps://test.com/vid3.mp4
    [3] => hxxps://test.com/vid4.mp4
)
Alex Black
  • 450
  • 2
  • 7