أوكرانيا بحاجة لمساعدتكم الآن!
في 24 فبراير 2022، أمر الرئيس الروسي فلاديمير بوتين بغزو أوكرانيا من قبل القوات المسلحة الروسية.
هناك حاجة ماسة لدعمكم.
- التبرع للمتطوعين. إليكم صندوق المتطوعين الذي يساعد الجيش الأوكراني على توفير جميع المعدات اللازمة: https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi- أرميي أو https://savelife.in.ua/en/donate/
- التحقق الثلاثي من مصادر وسائل التواصل الاجتماعي. يحاول التضليل الروسي التغطية على الواقع وتشويهه في أوكرانيا.
- ساعد اللاجئين الأوكرانيين الفارين من الهجمات والقصف الروسي: https://www.globalcitizen.org/en/content/ways-to-help-ukraine-conflict/
- مارسوا الضغط على ممثليكم السياسيين لتقديم المساعدة لأوكرانيا.
- ثقوا بالشعب الأوكراني، فهو لن يستسلم، وليس لديه أوكرانيا أخرى.
شكرًا لك!
HTML5 هو محلل وكاتب HTML5 متوافق مع المعايير ومكتوب بالكامل بلغة PHP. إنه مستقر ويستخدم في العديد من مواقع الإنتاج، وقد تم تنزيله أكثر من خمسة ملايين.
يوفر HTML5 الميزات التالية.
قم بتثبيت HTML5-PHP باستخدام الملحن.
عن طريق إضافة تبعية masterminds/html5 إلى ملف composer.json الخاص بك:
{
"require" : {
"masterminds/html5" : " ^2.0 "
},
}عن طريق استدعاء أمر يتطلب عبر الملحن القابل للتنفيذ:
composer require masterminds/html5يحتوي HTML5-PHP على واجهة برمجة تطبيقات عالية المستوى وواجهة برمجة تطبيقات منخفضة المستوى.
إليك كيفية استخدام واجهة برمجة تطبيقات مكتبة HTML5 عالية المستوى:
<?php
// Assuming you installed from Composer:
require " vendor/autoload.php " ;
use Masterminds HTML5 ;
// An example HTML document:
$ html = <<< 'HERE'
<html>
<head>
<title>TEST</title>
</head>
<body id='foo'>
<h1>Hello World</h1>
<p>This is a test of the HTML5 parser.</p>
</body>
</html>
HERE;
// Parse the document. $dom is a DOMDocument.
$ html5 = new HTML5 ();
$ dom = $ html5 -> loadHTML ( $ html );
// Render it as HTML5:
print $ html5 -> saveHTML ( $ dom );
// Or save it to a file:
$ html5 -> save ( $ dom , ' out.html ' ); إن $dom الذي أنشأه المحلل اللغوي هو كائن DOMDocument كامل. وسوف تأخذ أساليب save() و saveHTML() أي DOMDocument.
من الممكن تمرير مجموعة من خيارات التكوين عند تحميل مستند HTML5.
// An associative array of options
$ options = array (
' option_name ' => ' option_value ' ,
);
// Provide the options to the constructor
$ html5 = new HTML5 ( $ options );
$ dom = $ html5 -> loadHTML ( $ html );يتم دعم الخيارات التالية:
encode_entities (منطقي): يشير إلى أن المُسلسل يجب أن يقوم بتشفير الأحرف بقوة ككيانات. وبدون ذلك، فإنه لا يشفر إلا الحد الأدنى.disable_html_ns (منطقي): يمنع المحلل اللغوي من تعيين مساحة اسم HTML5 تلقائيًا لمستند DOM. هذا مخصص لأدوات DOM غير المدركة لمساحة الاسم.target_document (DOMDocument): مستند DOM سيتم استخدامه كوجهة للعقد التي تم تحليلها.implicit_namespaces (array): مصفوفة مساعدة من مساحات الأسماء التي يجب أن يستخدمها المحلل اللغوي. الاسم هو بادئة العلامة، والقيمة هي NS URI. توفر هذه المكتبة واجهات برمجة التطبيقات ذات المستوى المنخفض التالية التي يمكنك استخدامها لإنشاء المزيد من أدوات HTML5 المخصصة:
وتختبر اختبارات الوحدة كل جزء من واجهة برمجة التطبيقات (API)، ويتم توثيق كل وظيفة عامة بشكل جيد.
تم تصميم المحلل اللغوي على النحو التالي:
Scanner بمعالجة المسح نيابة عن المحلل اللغوي.Tokenizer البيانات من الماسح الضوئي، ويوزعها، ويصنفها، ويرسلها إلى EventHandler . وهو محلل النسب العودي.EventHandler إشعارات وبيانات لكل حدث دلالي محدد يحدث أثناء عملية الترميز.DOMBuilder هو EventHandler يستمع إلى ترميز الأحداث ويبني شجرة مستندات ( DOMDocument ) بناءً على الأحداث. يأخذ المُسلسل بنية البيانات ( DOMDocument ) ويحولها إلى تمثيل حرف - مستند HTML5.
يتم تقسيم التسلسل إلى ثلاثة أجزاء:
OutputRules على القواعد اللازمة لتحويل عناصر DOM إلى سلاسل. القواعد هي تطبيق للواجهة RulesInterface مما يسمح باستخدام مجموعات قواعد مختلفة.Traverser ، وهو جهاز مشي على الأشجار ذو أغراض خاصة. يقوم بزيارة كل عقدة في الشجرة ويستخدم OutputRules لتحويل العقدة إلى سلسلة.HTML5 Traverser ويخزن البيانات الناتجة في المكان الصحيح. المُسلسل ( save() , saveHTML() ) يتبع القسم 8.9 من مواصفات HTML 5.0. لذلك يتم تسلسل العلامات وفقًا لهذه القواعد:
يرجى التحقق من قائمة انتظار المشكلات للحصول على قائمة كاملة، ولكن فيما يلي المشكلات المعروفة التي ليست موجودة حاليًا في خريطة الطريق:
: ليس له معنى خاص. بشكل افتراضي، لا يدعم المحلل اللغوي مساحات أسماء نمط XML عبر : ; لتمكين مساحات أسماء XML، راجع قسم مساحات أسماء XML لاستخدام مساحات أسماء نمط XML، يجب عليك تكوين مثيل HTML5 الرئيسي بشكل جيد.
use Masterminds HTML5 ;
$ html = new HTML5 ( array (
" xmlNamespaces " => true
));
$ dom = $ html -> loadHTML ( ' <t:tag xmlns:t="http://www.example.com"/> ' );
$ dom -> documentElement -> namespaceURI ; // http://www.example.comيمكنك أيضًا إضافة بعض البادئات الافتراضية التي لن تتطلب إعلان مساحة الاسم، لكن عناصرها ستكون ذات مساحة اسم.
use Masterminds HTML5 ;
$ html = new HTML5 ( array (
" implicitNamespaces " => array (
" t " => " http://www.example.com "
)
));
$ dom = $ html -> loadHTML ( ' <t:tag/> ' );
$ dom -> documentElement -> namespaceURI ; // http://www.example.com المساهمون المتفانون (والصابرون) في التصحيحات الصغيرة والكبيرة، الذين قاموا بالفعل بتحسين هذه المكتبة. راجع ملف CREDITS للحصول على قائمة المساهمين.
نحن ندين بالامتنان الكبير للمؤلفين الأصليين لـ html5lib.
على الرغم من عدم وجود الكثير من المحلل اللغوي الأصلي، فقد تعلمنا الكثير من قراءة مكتبة html5lib. وتبقى بعض القطع هنا. على وجه الخصوص، فإن الكثير من التعامل مع UTF-8 وUnicode مشتق من مشروع html5lib.
تم إصدار هذا البرنامج بموجب ترخيص MIT. تم أيضًا إصدار مكتبة html5lib الأصلية بموجب ترخيص MIT.
راجع LICENSE.txt
تحتوي بعض الملفات على تأكيدات حقوق الطبع والنشر من قبل أفراد محددين معنيين بـ html5lib. وقد تم الاحتفاظ بها عند الاقتضاء.