Вот как вы можете достичь того же, без регулярных выражений, но с DOMDocument и DOMXPath:
$tag = '<string name="abs__action_bar_home_description">My old title</string>';
$new_title = 'My new title';
$dom = new DOMDocument('1.0', 'UTF-8');
@$dom->loadHTML($tag, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($dom);
$links = $xpath->query('//string[@name="abs__action_bar_home_description"]');
foreach($links as $link) {
$link->nodeValue = $new_title;
}
echo $dom->saveHTML();
См IDEONE demo
'//string[@name="abs__action_bar_home_description"]'
XPath означает, что вы хотите get string
тег, который имеет атрибут name
со значением abs__action_bar_home_description
.
Если вы загрузите файл HTML, вы можете использовать что-то вроде
$dom->loadHTMLFile("http://www.example.com/content.html");
Вы пробовали что-нибудь? – Rizier123
Вы пытаетесь манипулировать HTML-кодом? Если да, используйте DOMDocument с DOMXPath, эта комбинация действительно эффективна и эффективна. –