Chuyển đổi css bên ngoài thành nội bộ

Tôi có tệp HTML được xuất từ ​​Scrivener. Nó chứa các kiểu CSS trong ... [không phải trong một tệp CSS riêng]. Tôi cần chuyển đổi các kiểu này thành kiểu nội tuyến. Làm thế nào tôi có thể hoàn thành nó trong KM?

Những gì tôi muốn làm là đây

  1. Khi một tệp FileName.html được thêm vào một thư mục, KM sẽ đọc tệp đó thành một biến
  2. Chuyển đổi kiểu CSS thành kiểu nội tuyến
  3. Viết nội dung đã chuyển đổi trở lại tệp đó

Bước 1 và 3 có thể được thực hiện dễ dàng. Nhưng mình không biết làm Bước 2

Có những trang web cung cấp dịch vụ này, chẳng hạn như https. // gửi thư trước. io/ và mailchimp. com

Tôi cũng đã tìm thấy các cuộc thảo luận từ kiểu CSS sang kiểu nội tuyến thông qua JavaScript - Thư viện tuyệt vời và

và một số tập lệnh như JavaScript https. //ý chính. github. com/nirvanatikku/1034b8f4445efe831616e6f6e594615f và nút. js https. //github. com/lukehorvat/kiểu-tính-đến-kiểu-inline. Nhưng tôi không biết cách triển khai chúng trong Bàn phím Maestro

Dưới đây là mẫu tệp HTML được xuất từ ​​Scrivener
Tốt nhất, tôi muốn xóa một số kiểu không cần thiết [chẳng hạn như margin: 0.0px 0.0px 0.0px 0.0px-webkit-text-stroke: #000000] để làm cho tệp trông gọn gàng hơn

Mẫu nội dung HTML [nhấp để mở]____0_______

Bất kỳ trợ giúp đánh giá cao

martin

Đây có phải là những gì bạn đề nghị?

Đây là tập lệnh Perl nhanh và bẩn và văn bản HTML của bạn trong một tệp riêng để minh họa khái niệm

Lưu trữ. khóa kéo [2. 6KB]

Đây là những gì nó đang làm

  • Đọc nội dung tệp vào một biến
  • Đọc các định nghĩa kiểu trong tiêu đề vào một biến khác và xóa chúng khỏi tiêu đề
  • Tạo một mảng định nghĩa phong cách
  • Đối với mỗi định nghĩa kiểu, hãy đọc thẻ lớp và kiểu của thẻ đó
  • Tìm kiếm thẻ lớp đó trong biến nội dung tệp và thay thế nó bằng định nghĩa kiểu
  • In các bản sửa đổi và viết chúng theo kiểu. html

Bây giờ xin chào. html và tạo kiểu. html sẽ trông giống hệt nhau nhưng được mã hóa theo ý muốn của bạn

Đây là Perl để tham khảo

#!/usr/bin/perl

my $html = "hello.html";
my [$t, $s];

open[IN, "< $html"] || die "Could not open HTML file.\n";
undef $/;
$data = ;
close[IN];

$data =~ s/\s*[.+?]\s*\n//ms;
my $styles = $1;
my @tags = split /\n/, $styles;
foreach my $tag [@tags] {
	$tag =~ /.+?\.[.+?]\s/;
	$t = $1;
	$tag =~ /{[.+?]}/;
	$s = $1;
	$data =~ s/class="$t"/style="$s"/g;
}
print "Results:\n\n$data";
open[OUT, "> styled.html"] || die "Could not open HTML file.\n";
print OUT $data;
close[OUT];

Các tuyên bố từ chối trách nhiệm thông thường được áp dụng

mrpasini

À hôm qua lỡ mất rồi

Không vấn đề gì
Tôi đã có thể nghiên cứu mã của bạn và đủ hiểu để thực hiện các thay đổi cho phù hợp với nhu cầu của mình
Thay vì xóa các kiểu không mong muốn khỏi $data sau khi thay thế, tôi đã xóa chúng khỏi $styles trước khi thực hiện thay thế

Tôi có thể cần thực hiện nhiều thay đổi hơn tùy thuộc vào nhu cầu trong tương lai của mình, nhưng đây là giao diện mã của tôi bây giờ

Làm cách nào để chuyển đổi CSS sang kiểu nội tuyến?

Chuyển đổi kiểu CSS thành kiểu nội tuyến. .
Đọc nội dung tệp vào một biến
Đọc các định nghĩa kiểu trong tiêu đề vào một biến khác và xóa chúng khỏi tiêu đề
Tạo một mảng định nghĩa phong cách
Đối với mỗi định nghĩa kiểu, hãy đọc thẻ lớp và kiểu của thẻ đó

CSS bên ngoài có ghi đè nội bộ không?

tệp css có lớp giống hệt với nội dung được đề cập trong tệp css nội bộ. Do đó, khi nó được hiển thị trong trình duyệt, css bên trong sẽ ghi đè lên css bên ngoài . div-color vì các quy tắc cụ thể và css nội tuyến sẽ ghi đè css nội bộ.

CSS nội bộ có tốt hơn CSS bên ngoài không?

Sự khác biệt chính giữa CSS nội tuyến và CSS bên ngoài là CSS nội tuyến được xử lý nhanh hơn vì nó chỉ yêu cầu trình duyệt tải xuống 1 tệp trong khi .

Chúng ta có thể sử dụng CSS bên trong và bên ngoài cùng nhau không?

Bạn có thể thêm CSS nội tuyến vào thuộc tính kiểu để tạo kiểu cho một phần tử HTML trên trang. Bạn có thể nhúng biểu định kiểu nội bộ bằng cách thêm CSS vào phần đầu của tài liệu HTML của bạn. Hoặc bạn có thể liên kết tới biểu định kiểu bên ngoài chứa tất cả CSS riêng biệt với HTML của bạn .

Chủ Đề