preg_replace ersetzen und ausschließen von ersetzen

son gohan

Erfahrenes Mitglied
Hi,

mit dem Script ersetze ich das Wort auto aus ein String:
PHP:
$zeichenkette = 'auto hjgsdsdjhauto hjhauto auto jautokjh auto f35auto<br>';
$suchmuster[0] = '/auto/';
$ersetzungen[2] = '<strong>auto</strong>';
$dds = preg_replace($suchmuster, $ersetzungen, $zeichenkette, 2);
//echo $dds;

$suchmuster[0] = '/auto/';
$ersetzungen[2] = '<em>auto</em>';
echo preg_replace($suchmuster, $ersetzungen, $dds, 2);

Zuerst wird auto durch <strong>auto</strong> 2 mal im string ersetzt, dann möchte ich noch weitere 2mal das Wort auto durch <em>auto</em> halt mit Klammern ersetzen, dass Problem ist das am Ende sowas bei raus kommt:
<strong><em>auto</em></strong>

Ich will aber das jedes Wort auto nur von einem Tag umschlossen wird, kann man das einstellen?
 
Dann müsstest du Prüfen, ob schon eine Klammer davor odfer dahinter vorhanden ist.
Stichwort (?<=MUSTER) und/oder (?<!MUSTER)
 
Ich wollt gern etwas Text suchmaschinenfreundlich gestalten durch die tags ohne aber selbst mühsam die Wörter ein zu schließen.
 
Was soll denn daran suchmaschinenfreundlich sein, wenn du den Wörtern durch die Tags andere eine Bedeutung beimisst?
 
Ich hab das so gelernt das Wörter in bestimmten Tag wie h1,strong usw. Suchmaschinenfreundlich ist, wenn die Wörter was mit der Seite zu tun haben.
 
Bei HTML geht es allgemein darum, Textelementen durch Tags eine Bedeutung beizumessen. Das Ganze wird Semantik genannt und ist nicht nur für Suchmaschinen wichtig sondern auch für den Menschen.

Wenn du also einen geschriebenen Text durch HTML formatieren möchtest, packst du die Überschriften der ersten Ebene (und nur die!) in h1-Elemente, die Überschriften der zweiten Ebene (und wieder nur die!) in h2-Elemente und so weiter, Absätze werden in p-Elemente gepackt, Listen in Listenelemente, tabellarische Daten in Tabellen, etc.
 
Zurück