<?php
$input1 = '<tr><td>test1
</td><td>test2</td>';
$input2 = 'ala ma kota ?.\$a kot ma ale?.\$';
$result1 = FindTextBetween('<td>','</td>',$input1);
for ($i=0; $i<count($result1);$i++)
echo "Result1 > $i > ".$result1[$i]."<br>";
$result2 = FindTextBetween('?.\$','?.\$',$input2);
for ($i=0; $i<count($result2);$i++)
echo "Result2 > $i > ".$result2[$i]."<br>";
function FindTextBetween($start_phrase,$end_phrase,$input)
{
$srch = array("$","",".","","?","(",")","[","]","\","|");
$rep = array("\$","\","\.","\","\?","\(","\)","\[","\]","\\","\|");
$start_phrase = str_replace($srch,$rep,$start_phrase);
$end_phrase = str_replace($srch,$rep,$end_phrase);
$regex = "|$start_phrase(.*)$end_phrase|Us";
echo htmlspecialchars($regex)."<br>";
preg_match_all($regex,$input,$matches);
if (is_array($matches[1]))
return $matches[1];
else return array();
}
?>