Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung PHP

Mitglied: cMaster

cMaster (Level 1) - Jetzt verbinden

14.06.2011 um 19:26 Uhr, 3290 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 ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Windows Server
Backup-Programm mit SFTP Funktion gesucht (4)

Frage von hijacker99 zum Thema Windows Server ...

Microsoft Office
gelöst Excel: Text in Zellbereich prüfen mit Vergleichstext ggf. mit Exact-Funktion (5)

Frage von Michi1 zum Thema Microsoft Office ...

JavaScript
AngularJS Variable über Input in Funktion ausführen

Frage von badkilla zum Thema JavaScript ...

Sonstige Systeme
gelöst Kostenfreies Ticketsystem gesucht (1)

Frage von Stefan007 zum Thema Sonstige Systeme ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...