Der Code muss überprüfen, ob eine Zeichenkette zwischen den Tags gefunden wird. Aber wie Sie sehen können, die Span-Tag mit vielen anderen Attributen und anderen CSS-Klassen gebaut, die sich ändern, ist es ziemlich unvorhersehbar.RegEx - Überprüfen Sie, ob eine Zeichenfolge innerhalb SPAN-Tag einer bestimmten CSS-Klasse ist da?
$body = '<p>Lorem ipsum, lorem ipsum. Lorem ipsum, lorem ipsum. Lorem ipsum, lorem ipsum. Lorem ipsum, lorem ipsum. Lorem ipsum, lorem ipsum.</p><p><span id="subject-47" class="enco-subject enco-subject-post-1" data-id="47">Semencic credits his early familiarity with the breed to his own travels to South Africa<span class="enco-comment-count">4</span></span> , but especially to his frequent correspondence with the head of the first South African Boerboel club, one Mr. Kobus Rust. <strong>The Boerboel Breeders Association was established in 1983</strong> in the Senekal district of the Free State with the sole objective of ennobling and promoting the Boerboel as a unique South African dog breed.</p>';
$body2 = 'We all love South Africa because of its <span class="enco-highlight">beautiful scenery</span>. It is not the cheapest country but blah blah blah.';
$string_to_check = 'South Africa';
So, hier ist das, was zurückgegeben werden soll:
Körper = existiert die Zeichenfolge innerhalb span.enco-Subjekt-Tag (aber es ist ein komplizierter Tag ..)
body2 = die Zeichenkette existiert nicht in span.enco-subject
Es funktioniert nicht, es gibt mir falsche Treffer: Array ( [0] => Array ( [0] => Semenčić schreibt seine frühe Vertrautheit mit der Rasse zu seinen eigenen Reisen nach South Afrika4 [1 =]> 139 ) [1] => Array ( [0] => id = "subject-47" [1] => 145 ) [2] => Array ( [ 0] => enco-subject [1] => 168 ) [3] => Array ( [0] => -Post-1" -Daten-id = " 47 [1] => 193 ) ....... ) – Lazhar
Es Du gehst, ich habe das Preg-Match aktualisiert. Grundsätzlich ist der string_to_check immer auf Index 5, der über '$ matches [5]' zugänglich ist –