Guten Morgen
ich habe bspw. folgenden String:
TestString
wie kann ich nach color:#CCCCCC; suchen und den gesamten Tag in TestString ändern?
Vielen Dank für die Hilfe schon im Voraus!
Gruss
Dennis
Guten Morgen
ich habe bspw. folgenden String:
TestString
wie kann ich nach color:#CCCCCC; suchen und den gesamten Tag in TestString ändern?
Vielen Dank für die Hilfe schon im Voraus!
Gruss
Dennis
Hallo
ich habe bspw. folgenden String:
TestStringwie kann ich nach color:#CCCCCC; suchen und
den gesamten Tag in TestString
ändern?
Quick Hack:
…
$html = ’ blah
TestString
blah’;
function fcol($i) { return preg_match(’/^color/’, $i); }
function scol($m) { return $m[1].implode(’’, array_filter(explode(’;’, $m[2]), ‚fcol‘)); }
$html_neu = preg_replace_callback(’/(style\s*=\s*["’])([^"’>]+)/’, ‚scol‘, $html);
…
Aber vielleicht hat jemand eine bessere Idee?
Grüße
CMБ
Quick Hack:
…
$html = ’ blah
TestString
blah’;function fcol($i) { return preg_match(’/^color/’, $i); }
function scol($m) { return $m[1].implode(’’,
array_filter(explode(’;’, $m[2]), ‚fcol‘)); }$html_neu =
preg_replace_callback(’/(style\s*=\s*["’])([^"’>]+)/’,
‚scol‘, $html);
…Aber vielleicht hat jemand eine bessere Idee?
Grüße
CMБ
Vielen Dank für deine Hilfe! Dies funktioniert sehr gut!
Nur hab ich das Problem, dass sich in der $html Variabel noch andere Tags befinden und er bei denen auch das Verfahren anwendet… Wie kann ich dieses Vorgehen explizit, bzw. ausschliesslich auf Tags fokussieren?
Gruss
Dennis
Hallo
Nur hab ich das Problem, dass sich in der $html Variabel noch
andere Tags befinden und er bei denen auch das Verfahren
anwendet… Wie kann ich dieses Vorgehen explizit, bzw.
ausschliesslich auf Tags fokussieren?
Das kannst Du einfach mit reinschreiben:
…
$html_neu = preg_replace_callback(’/(]+)/’, ‚scol‘, $html);
…
Grüße
CMБ
Hallo R3Lillusion,
wenn es nicht gerade um ms genaue schnelligkeit geht und es sich um viel HTML handelt (das dazu valide ist) dann empfehle ich dir die DOM und / oder die simpleXML Klasse von PHP.
Dann könntest du alle span tags per xpath selektieren und bearbeiten.
// http://de2.php.net/manual/de/book.dom.php
$dom = new DomDocument;
$dom-\>formatOutput = true;
$dom-\>load('deineDatei.html');
$dXpath = new DOMXPath($dom);
$nList = $dXpath-\>query('\\span');
foreach($nList as $span)
{
$span-\>setAttribute('style', 'dein css');
}
echo $dom-\>saveHTML();
der Code ist nicht getestet aber das wäre dann ein Weg es zu machen.
Das kannst Du einfach mit reinschreiben:
…
$html_neu =
preg_replace_callback(’/(]+)/’,
‚scol‘, $html);
…Grüße
CMБ
Vielen Dank für Deine Hilfe, funktioniert einwandfrei!
Gruss
Dennis