Dear DP Members, My source ($text_raw) is as the following: <td valign=top> blablablabla</br>blablablanla </td> Code (markup): And I want to extract the text between <td valign=top> and </td> having worked with regex's before I thought the following would work: $pattern = '#<td valign=top>(.*?)</td>#'; preg_match($pattern, $text_raw, $text_r2); Code (markup): Why when I print_r the array I see an empty array, I know the mistake lies in my regex but I don't see where I went wrong. Thank you, Eiso