Как извлечь данные в html на PHP из почты из gmail API?

  • Я получаю электронные письма из GMAIL API.
  • У меня есть содержимое для каждого письма.
  • Мне нужно извлечь некоторый контент из этого html. Но этот html заполнен таблицей, у него нет идентификатора или класса для селектора.

<html>
	<head>
		<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8">
			<meta name=3D"viewport" content=3D"width=3Ddevice-width, initial-scale=3D=  1.0">
				<meta name=3D"viewport" content=3D"width=3Ddevice-width, initial-scale=3D=  1, maximum-scale=3D1">
				</head>
				<body style=3D"font-family: 'Source Sans Pro',sans-serif;background-color: =  #dfdfdf;padding: 15px;margin: 0;font-size: 1px;mso-line-height-alt: 0;line-=  height: 0;mso-margin-top-alt: 1px;">
					<table style=3D"border-collapse: collapse;color: #5a5a5a;font-size: 14px;=  -ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;width: 100%">
						<tr style=3D"font-size: 14px;line-height: 21px;text-align: left;vertica=  l-align: top;">
							<td></td>
							<td style=3D"color: #5a5a5a;font-size: 14px;line-height: 21px;text-al=  ign: left;vertical-align: top;width: 960px;min-width: 520px;border: 1px sol=  id #5a5a5a;padding: 20px;background: #ffffff;">
								<table style=3D"border-collapse: collapse;">
									<tr style=3D"font-size: 14px;line-height: 21px;text-align: left;v=  ertical-align: top;">
										<td style=3D"color: #5a5a5a;font-size: 14px;line-height: 21px;v=  ertical-align: middle;">
											<table style=3D"border-collapse: collapse;width: 100%;border-=  bottom: 2px solid #ebebeb;">
												<tr>
													<td style=3D"height: 82px;text-align: center;vertical-ali=  gn: middle;font-weight: 300;font-size:32px;padding-bottom:16px;font-family:=   'Source Sans Pro',sans-serif;color: #5a5a5a;">                      Email Archive Status Report                    </td>
												</tr>
											</table>
											<table style=3D"border-collapse: collapse;line-height: 21px;t=  ext-align: left;vertical-align: top;height: auto;margin: 0 20px 20px 0;">
												<tr style=3D"font-size: 14px;line-height: 21px;text-align: =  left;vertical-align: top;">
													<td style=3D"color: #5a5a5a;font-size: 14px;line-height: =  21px;text-align: left;vertical-align: top;">
														<table style=3D"border-collapse: collapse;font-size: 14=  px;margin: 10px 10px 0 10px;width: 100%;">
															<tr style=3D"font-size: 14px;vertical-align: top;">
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;width: 50%;margin-right: 10px;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;margin-right: 20px;">License</div>
																	<table style=3D"border-collapse: collapse;">
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Archives</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">7 archives</td>
																		</tr>
																	</table>
																</td>
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;width: 50%;margin-left: 10px;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;margin-right: 20px;">Instance</div>
																	<table style=3D"border-collapse: collapse;">
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Instance Name</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">k477931430</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Version</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">11.2.1.14113 (64-bit; Build Date 1/=  14/2019)</td>
																		</tr>
																	</table>
																</td>
															</tr>
														</table>
														<table style=3D"border-collapse: collapse;font-size: 14=  px;margin: 10px 10px 0 10px;width: 100%;">
															<tr style=3D"font-size: 14px;vertical-align: top;">
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;width: 50%;margin-right: 10px;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;margin-right: 20px;">Archive</div>
																	<table style=3D"border-collapse: collapse;">
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Total Size</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">538,782 messages</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Newly Archived 
																				<span style=3D"font-s=  ize: 10px;">(2/12/2019)</span>
																			</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">276 messages</td>
																		</tr>
																	</table>
																</td>
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;width: 50%;margin-left: 10px;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;margin-right: 20px;">Compliance</div>
																	<table style=3D"border-collapse: collapse;">
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Service Provider Access</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">Enabled</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Archive Access by Admin</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">Enabled</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Retention Policies</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">Total: 0 / Enabled: 0 / Automatic D=  eletion: 0</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Legal Hold</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">Disabled</td>
																		</tr>
																		<tr style=3D"font-size: 14px;vertical-align: to=  p;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;max-width: 270px;overflow: hidden;whi=  te-space: nowrap;padding-right: 50px;">Auditing</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;text-align: left;vertical-align: t=  op;line-height: 21px;padding-bottom:0;">17 event types of 28</td>
																		</tr>
																	</table>
																</td>
															</tr>
														</table>
														<table style=3D"border-collapse: collapse;font-size: 14=  px;margin: 10px 10px 0 10px;width: 100%;">
															<tr style=3D"font-size: 14px;line-height: 21px;text-a=  lign: left;vertical-align: top;">
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;">                              Archiving Statistics 
																		<span style=3D"font-size: =  12px;">(2/12/2019)</span>
																	</div>
																	<table style=3D"border-collapse: collapse;width: =  100%;">
																		<tr style=3D"vertical-align: top;mso-line-heigh=  t-alt: 22px;line-height: 22px;">
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: left;width: 48%;">Name</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: right;width: 11%;">Successful</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: right;width: 11%;">Failed</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: left;width: 19%;">Last Execution</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: center;width: 11%;">Last Result</th>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">vachonsecure.fr Charles</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">210</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 11:53:42 PM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">bs-technology.fr Eric</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">133</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 11:48:20 PM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">boxalacarte.com Eric</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">244</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 11:53:42 PM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">pascapascal.bovero
																				<img style=3D"dis=  play: none;" />@uniic.org
																			</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">161</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 11:54:10 PM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">bs-technology.fr Info</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">265</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 11:59:03 PM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																	</table>
																</td>
															</tr>
														</table>
														<table style=3D"border-collapse: collapse;font-size: 14=  px;margin: 10px 10px 0 10px;width: 100%;">
															<tr style=3D"font-size: 14px;line-height: 21px;text-a=  lign: left;vertical-align: top;">
																<td style=3D"color: #5a5a5a;font-family: 'Source Sa=  ns Pro',sans-serif;font-size: 14px;line-height: 21px;text-align: left;verti=  cal-align: top;">
																	<div style=3D"color: #e65f1e;border-bottom: 1px s=  olid #ebebeb;font-size: 18px;padding: 0 3px 0 3px;margin-bottom: 4px;line-h=  eight: 36px;height: 30px;">                              Jobs 
																		<span style=3D"font-size: 12px;">(2/12/201=  9)</span>
																	</div>
																	<table style=3D"border-collapse: collapse;">
																		<tr style=3D"color: #5a5a5a;font-family: 'Sourc=  e Sans Pro',sans-serif;font-size: 14px;text-align: left;line-height: 21px;v=  ertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;text-align: left;vertical-align: top;font-size: 12=  px;line-height: 16px;padding-bottom: 10px;">
																				<b>Important Notice:</b> The last result on=  ly represents the status of the job execution itself but does not necessari=  ly correspond to the result of the command executed by this job. To access =  the output of the executed command, go to 
																				<em>Administrative Tools &gt; Man=  agement API &gt; Job Results</em> in the client and double-click on the res=  pective entry.                                
																			</td>
																		</tr>
																	</table>
																	<table style=3D"border-collapse: collapse;width: =  100%;">
																		<tr style=3D"vertical-align: top;mso-line-heigh=  t-alt: 22px;line-height: 22px;">
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: left;width: 48%;">Name</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: right;width: 11%;">Successful</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: right;width: 11%;">Failed</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: left;width: 19%;">Last Execution</th>
																			<th style=3D"font-size: 14px;vertical-align: =  top;font-family: 'Source Sans Pro',sans-serif;line-height: normal;padding: =  4px 8px;white-space: nowrap;background-color: #505050;color: #ffffff;font-w=  eight: normal;text-align: center;width: 11%;">Last Result</th>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">Envoyer le rapport de statut</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">1</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 5:30:02 AM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																		<tr style=3D"font-size: 14px;text-align: left;l=  ine-height: 21px;vertical-align: top;">
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">Process Retention Policies</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">1</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: right;padding: 1px 8px;">0</td>
																			<td style=3D"color: #5a5a5a;font-family: 'Sou=  rce Sans Pro',sans-serif;font-size: 14px;line-height: 21px;vertical-align: =  top;text-align: left;padding: 1px 8px;">2/12/2019 3:30:00 AM</td>
																			<td style=3D"font-weight: bold;color: green;f=  ont-family: 'Source Sans Pro',sans-serif;font-size: 14px;line-height: 21px;=  vertical-align: top;text-align: center;padding: 0 8px;">Succeeded</td>
																		</tr>
																	</table>
																</td>
															</tr>
														</table>
													</td>
												</tr>
											</table>
											<div style=3D"height: 30px;border-top: 1px solid #e5e5e5;marg=  in: 5px;color: #999999;mso-line-height-alt: 18px;mso-margin-top-alt: 18px;l=  ine-height: 18px;font-size: 11px;">
												<div style=3D"text-align: left;">
													<span style=3D"font-size: 11px;mso-line-height-alt: 18px;=  line-height: 18px;mso-margin-top-alt: 18px;color: #5a5a5a;text-align: left;=  vertical-align: top;font-family: 'Source Sans Pro',sans-serif;">&nbsp;
													</spa=  n>
												</div>
											</div>
										</td>
									</tr>
								</table>
							</td>
							<td></td>
						</tr>
					</table>
				</body>

В этой строке я хотел бы извлечь некоторые данные, такие как электронные письма и дату. Здесь не самое сложное. Все почтовые адреса не похожи

"[email protected]"

это может быть, но большая часть почтового адреса похожа на

xxx.fr Charles

Сначала я попытался извлечь html, а затем с помощью XPath получить нужный контент. Но проблема в том, что когда я выбираю только "//tr", как мне узнать, какая строка является адресом, другая - местоположением или чем-то еще?

Вот мой код:

            $message_id = $lm->id;
            $thread_id = $lm->threadId;
            $optParamsGet2['format'] = 'raw';
            $single_message = $gmail->users_messages->get('me', $message_id, $optParamsGet2);
            $body = base64url_decode($single_message->raw);
            $string = preg_replace('~[[:cntrl:]]~', " ", $body);
            $rawString = strip_tags(preg_replace('/\s+/', '', $string));

            $html = get_string_between($string, "<!DOCTYPE html>", "</html>");

            libxml_use_internal_errors(true) AND libxml_clear_errors();
            $doc = new DOMDocument();
            $doc->preserveWhiteSpace = false;
            $doc->loadHTML($html);

            $xpath = new DOMXpath($doc);
            $nodes = $xpath->query("//tr");

У вас есть несколько советов?

Обновлено:

Я попробовал решение @Anthony Harley, это результат ссылка на сайт. Я использую регулярное выражение для извлечения начала, но для адреса я не смог. В индексе 10 таблицы я хочу извлечь имя, дату и, если это удастся. Но это не один и тот же шаблон для каждого пользователя.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
164
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы должны использовать для этого массивы, потому что они просты и понятны. Я приведу пример, чтобы вы могли использовать его для создания своего собственного кода, потому что код не очень ясен, но я все же хочу быть так любезен, чтобы дать ответ.

Я объясню, как работают массивы, если вы не знакомы с массивами.

Вы можете создать такой массив:

    <?php
    $array = array(
   "variable1" => "[email protected]",
   "variable2" => "foo",
    );
    ?>

Они могут быть целым числом или строкой.

Если вы хотите получить его, вы можете использовать:

<?php
echo "Email:";
echo $variable1;
?>

Я надеялся, что хорошо объяснил основы, и я надеюсь, что вы сможете использовать это.

Ты смеешься ? Ответьте, чтобы сказать мне, как я могу быть более ясным ?? В противном случае спасибо за ваш ответ.

jibeeeee 13.02.2019 18:43
Ответ принят как подходящий

Я внес некоторые изменения в ваш сценарий на основе нашей цепочки комментариев. Вам определенно будет легче сохранить это как DOMDocument. Однако вы не преобразовывали свою электронную почту из цитируемой печатной формы, поэтому, возможно, вы используете DomXPath. Приведенный ниже код выводит 5 записей из таблицы, и этот шаблон можно использовать для получения данных из любой другой таблицы. На этом этапе вам решать, как обрабатывать электронные письма в этом поле. Надеюсь это поможет!

<?php

$doc = new DOMDocument();
$doc->preserveWhiteSpace = false;
$file = quoted_printable_decode(file_get_contents('test.html'));
$doc->loadHTML($file);

$records = [];

$tables = $doc->getElementsByTagName('table');
$emailTable = $tables->item(10);

$rows = $emailTable->getElementsByTagName('tr');

for($i = 2; $i < $rows->length; $i++) {
    $row = $rows->item($i);
    $cells = $row->getElementsByTagName('td');

    $records[] = [
        'Email' => $cells->item(0)->nodeValue
    ];
}

var_dump($records);
?>

Спасибо за ответ. Я редактирую свой вопрос с вашей помощью.

jibeeeee 14.02.2019 12:31

Только что увидел твой ответ. Сколько существует шаблонов и есть ли какие-либо идентификаторы в строке, которые вы можете использовать для сбора? Похоже, единственное, на что следует обратить внимание, это тег img в некоторых td, если только я не упустил что-то еще.

Anthony Harley 14.02.2019 16:57

Спасибо за ваш ответ и ваше время. для первых индексов у нас есть шаблон, мы можем извлечь данные. Но для индекса 10, например, мы не можем. pastebin.com/raw/0W12KH6s Я хочу извлечь для первой строки "boxalacarte.com Eric", но это может быть "[email protected]" или это могут быть просто строки в этой позиции...

jibeeeee 14.02.2019 17:21

Отредактировал мой комментарий с возможным решением

Anthony Harley 14.02.2019 17:51

Вам повезло с моим новым ответом?

Anthony Harley 14.02.2019 22:48

Я пытался этим утром, ваш ответ помог мне найти письмо;) большое спасибо

jibeeeee 15.02.2019 10:52

Нет проблем, убедитесь, что вы проголосовали за ответ, если он может помочь кому-то еще. Удачного кодирования!

Anthony Harley 15.02.2019 13:21

Другие вопросы по теме