Why preg_replace throws me a "Unknown modifier" error? [duplicate]
You are using forward-slashes as your regex pattern delimeter, so /<title>(.*)</title>/Ui'
will not work (</title>
has a forward slash).
You should be able to escape the forward slash or use a different delimiter that is not contained within the pattern, for example
'/<title>(.*)<\/title>/Ui' //(esacaping)
or
'~<title>(.*)</title>~Ui' //different delimiter