Я пытаюсь прочитать все имена классов и имен CSS, используемые внутри тега в файле php, который имеет и теги. Я хочу прочитать все имена классов и идентификаторов в массив. Я читаю файл с использованием методов fopen, file_get_contents и file, но все они не работают должным образом. Все, что я получаю данные в виде веб-страницы, а содержимое файла отображается в виде веб-страницы.
Я пытаюсь прочитать файл ниже
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<!-- Tekion related css -->
<style type="text/css">
div.formThirdParty{
width: 960px;
min-height: 760px;
overflow-x: hidden;
overflow-y: auto;
display: block;
background: #ffffff;
}
</style>
<script type="text/javascript" async="" src="https://static.ed.edmunds-media.com/unversioned/libs/edw/edw-lib-0.0.2-min.js"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/plugins/ua/linkid.js"></script><script type="text/javascript" async="" src="https://www.google-analytics.com/analytics.js"></script><script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-PQJ2GJZ&l=CarCodeDataLayer"></script><script type="text/javascript">
var tekion = {
DEALER_ID: 5,
TENANT_NAME: 'cacargroup'
}
</script>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap.min.css" />
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/latest/css/bootstrap-theme.min.css" />
<link rel="stylesheet" href="https://s3-us-west-1.amazonaws.com/scheduling-buildfiles/tst/style.css" />
<title>INFINITI Service Dublin | Pleasanton</title>
<meta name="description" content="Schedule an oil change, tire rotation, brake replacement, or service inspection in Dublin for your INFINITI car or SUV. Get in touch with us at Dublin INFINITI." />
<link rel="stylesheet" type="text/css" href="./infiniti_files/bundle_f7q.css" />
<style type="text/css">
.bg-color {
background-color: ;
}
.hide-page-background
{
background: none repeat scroll 0 0 transparent !important;
}
.clickMapBlockTitle:after {
background-image: url("http://media-dmg.assets-cdk.com/websites/5.0-353/websitesEar/websitesWebApp/common/images/spriteClickMap.png");
}
Мой код ниже:
$file_path = "/path/to/file/file_name.php";
$myfile = fopen($file_path, "r") or die("Unable to open file!");
Trial-1:
while(!feof($myfile)) {
echo fgets($myfile) . "<br>";
}
Trial-2:
$file_data = fread($myfile,filesize($file_path));
echo strip_tags($file_data,'<html><style>');
Trial-3:
$lines = file($file_path, FILE_IGNORE_NEW_LINES);
print_r($lines);
Весь вывод, который я получаю, — это веб-страница, но не содержание. Мой ожидаемый результат только содержимое (например, только имена классов и имена идентификаторов) внутри тегов ‘style’ после прочтения всего файла. Результат Я получаю, если я пытаюсь отобразить содержимое после того, как данные из файла являются веб-страницей, поскольку в файле есть теги style. Любая помощь, пожалуйста? Благодарю.
Я использовал preg_match_all, чтобы получить содержимое всех тегов стиля:
$contents = file_get_contents($file_path);
preg_match_all('/[<]style[^>]*[>]([^<]+)[<]\/style[>]/', $contents, $matches, PREG_OFFSET_CAPTURE);
for($i = 0; $i < count($matches[1]); $i++) {
var_dump($matches[1][$i][0]);
}
Других решений пока нет …