$text = '<p>Ехал <span>Грека</span> через <a href="#">реку</a></p> а это не изменится';
$doc = new DomDocument('1.0', 'utf-8');
$doc->loadXML('<?xml version="1.0" encoding="utf-8"?><body>' . $text . '</body>');
$xpath = new DomXPath($doc);
$elements = $xpath->query('//p//text()');
foreach ($elements as $tn) {
$tn->nodeValue = mb_strtoupper($tn->nodeValue);
}
echo mb_substr($doc->saveXML($doc->getElementsByTagName('body')->item(0)), 6, -7);
/* На выходе:
* <p>ЕХАЛ <span>ГРЕКА</span> ЧЕРЕЗ <a href="#">РЕКУ</a></p> а это не изменится
*/
include /etc/nginx/sites-enabled/*.conf;
$string = "title*=UTF-8''%c2%a3%20and%20%e2%82%ac%20rates";
list($name, $content) = explode('*=', $string);
list($enc, $lang, $raw) = explode("'", $content);
$final = mb_convert_encoding(urldecode($raw), 'utf-8' /* целевая кодировка */, $enc);
foreign key (test_id, question_id)
references test_question(test_id, question_id)
on delete cascade
$ge = (new Exported())->getIterator();
$gr = (new Returned())->getIterator();
assert($ge == $gr);