Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Suchmuster für Funktion preg-replace gesucht

Mitglied: cMaster

cMaster (Level 1) - Jetzt verbinden

14.06.2011 um 19:26 Uhr, 3343 Aufrufe, 3 Kommentare

Hallo,

ich bekomme es nicht hin, das Suchmuster für die Funktion preg_replace funktionierend, passend für meinen Zweck zu erstellen; ich hoffe, mir kann da jemand helfen ;)

Ich habe HTML-Quelltext, bspw:
01.
<body> 
02.
<div>fghdkghdk</div> 
03.
<table class="tbTabelle"> 
04.
   <tr> 
05.
      <td>test</td> 
06.
      <td> 
07.
         <table> 
08.
            <tr> 
09.
               <td>test t2</td> 
10.
               <td>test t2</td> 
11.
            </tr> 
12.
         </table> 
13.
      </td> 
14.
   </tr> 
15.
</table> 
16.
<table> 
17.
   <tr> 
18.
      <td>test t2</td> 
19.
      <td>test t2</td> 
20.
   </tr> 
21.
</table> 
22.
<span>jckdlsfj</span> 
23.
</body>
nun möchte ich ein Suchmuster, sodass ich die Tabelle mit der Klasse "tbTabelle" hier heraus separieren kann (inkl. der untergeordneten Tabelle, nicht aber die 2. Tabelle). Wie kann ich das genau machen?

Vielen Dank und viele Grüße

Stefan
Mitglied: 272909
14.06.2011 um 22:16 Uhr
Ich habe das ganze mal etwas anders gelöst ;)
01.
<? 
02.
$content = '<body> 
03.
<div>fghdkghdk</div> 
04.
<table class="tbTabelle"
05.
   <tr> 
06.
      <td>test</td> 
07.
      <td> 
08.
         <table> 
09.
            <tr> 
10.
               <td>test t2</td> 
11.
               <td>test t2</td> 
12.
            </tr> 
13.
         </table> 
14.
      </td> 
15.
   </tr> 
16.
</table> 
17.
<table> 
18.
   <tr> 
19.
      <td>test t2</td> 
20.
      <td>test t2</td> 
21.
   </tr> 
22.
</table> 
23.
<span>jckdlsfj</span> 
24.
</body>'; 
25.
$content = explode(chr(10), $content); 
26.
foreach($content as $id => $value) { 
27.
	$pos = strpos($value, '"tbTabelle"'); 
28.
	if($pos == true) { 
29.
		$begin = strpos($value, '<'); 
30.
		$begin_id = $id
31.
32.
	unset($pos); 
33.
	if(isset($begin) && isset($begin_id)) { 
34.
		if(substr($value, $begin, 8) == '</table>') { 
35.
			$end_id = $id
36.
			$id_array[] = $begin_id.'-'.$end_id
37.
			unset($begin, $begin_id, $end_id); 
38.
39.
40.
41.
foreach($id_array as $id1 => $value1) { 
42.
	$value1 = explode('-', $value1); 
43.
	$start = $value1[0]; 
44.
	$end = $value1[1]; 
45.
	foreach($content as $id2 => $value2) { 
46.
		if($id2 >= $start && $id2 <= $end) { 
47.
			unset($content[$id2]);	 
48.
49.
50.
51.
$content = implode(chr(10), $content); 
52.
echo $content
53.
?>
Problem hierbei ist bloß, das die Formatierung immer zu 100% richtig sein muss, damit er das Ende finden kann. Ansonsten sollte es funktionieren. =)
Bitte warten ..
Mitglied: nxclass
14.06.2011 um 22:27 Uhr
Sinnvoller ist es zB. SimpleXML ( http://php.net/manual/en/book.simplexml.php ) mit XPath ( http://www.php.net/manual/en/simplexmlelement.xpath.php ) zu verwenden.
Bitte warten ..
Mitglied: EvilMoe
14.06.2011 um 22:29 Uhr
Hey,

versuch mal folgendes, bin da auch kein Profi
01.
@preg_match("#\<table class\=\"tbTabelle\"\>(.*)\<\/table\>#", $content, $matches);
Bitte warten ..
Ähnliche Inhalte
PHP
Preg-replace mit Variablen nutzen
gelöst Frage von rzlbrnftPHP1 Kommentar

Ich möchte gerne ein kleines Joomla Tool umschreiben weil sich der Code für das preg_replace mittlerweile geändert hat. Es ...

E-Mail

Mailserver - spezielle Funktionen gesucht

Frage von 97561E-Mail3 Kommentare

Hallo zusammen, für einen Kunden suchen wir einen Mailserver oder eine Groupwarelösung die folgendes leistet: a) Gruppenpostfächer / Kalender ...

Sicherheits-Tools

Antivirenschutzsoftware mit bestimmter Funktion gesucht

gelöst Frage von Trackmaster1303Sicherheits-Tools19 Kommentare

Hallo zusammen, ich habe mal wieder ein Anliegen. Ich habe schon recherchiert, aber irgendwie nichts gefunden. Oder ich habe ...

Batch & Shell

Powershell -replace

gelöst Frage von internet2107Batch & Shell5 Kommentare

Guten Morgen zusammen. Ich habe eine Datei, aus der Werte ausgelesen werden und in einer Variable gespeichert werden. Um ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing19 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...