1. عناصر التحضير
1) استبدل ملف الخط JS
رمز JS:
دالة com_stewartspeak_replacement () {/* ديناميكي مولد العنوان بواسطة ستيوارت روزنبرغر البرنامج النصي.*/replaceselector ("H1" ، "Dynatext/heading.php" ، true) ؛ // يجب تعديل المعلمتين الأوليين var testurl = "dynatext/loading.gif" ؛ var hideflicker = false ؛ var hideflickercss = "repraction-screen.css" ؛ var hideflickertimeout = 100 ؛ // يمكن إجراء التعديلات المسؤولة هنا/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- جافا سكريبت. والاستيلاء على صودا أو شيء من هذا القبيل.*/ var head ؛ var imageLoaded = false ؛ var documentloaded = false ؛ دالة استبدال CONDECTER (SELECTOR ، URL ، WORDWRAP) {if (typeof stems == "undefined") عناصر = صفيف جديد () ؛ العناصر [items.length] = {Selector: Selector ، url: url ، wordwrap: wordwrap} ؛} if (hideflicker) {document.write ('<link id = "hide-flicker" rel = "stylesheet" media = "screen" href = "' + hideflickercss + '" />') ؛ window.flickerCheck = function () {if (! imageLoaded) setStyLesHeetState ('Hide-flicker' ، false) ؛ } ؛ setTimeout ('window.flickerCheck () ؛' ، HideflickertimeOut)} إذا (donotprintimages) document.write ('<link id = "print-text" rel = "stylesheet" media = "print" href = "' + printercss + '" />') ؛ var test = new image () ؛ test.onload = function () {imageLoaded = true ؛ if (documentloaded) replacement () ؛ } ؛ test.src = testurl + "؟ date =" + (date ()). getTime () ؛ addLoadHandler (function () {documentLoaded = true ؛ if (imploaded) replace () ؛}) ؛ دالة documentload () {documentLoaded = true ؛ if (ImageLoaded) replacement () ؛} replacement () {for (var i = 0 ؛ i <items.length ؛ i ++) {var elements = getElementsBySelector (العناصر [i] .selector) ؛ if (elements.length> 0) لـ (var j = 0 ؛ j <elements.length ؛ j ++) {if (! elements [j]) متابعة ؛ var text = extractText (عناصر [j]) ؛ بينما (عناصر [j] .haschildnodes ()) العناصر [j] .removechild (عناصر [j] .firstchild) ؛ VAR TOKENS = العناصر [i] .wordwrap؟ text.split (''): [text] ؛ لـ (var k = 0 ؛ k <tokens.length ؛ k ++) {var url = العناصر [i] .rl+"؟ text ="+Escape (الرموز [k]+'')+" var image = document.createElement ("img") ؛ Image.ClassName = "استبدال" ؛ Image.alt = الرموز [k] ؛ Image.src = url ؛ عناصر [j] .appendchild (صورة) ؛ } if (donotprintimages) {var span = document.createElement ("span") ؛ span.style.display = 'none' ؛ span.className = "print-text" ؛ span.appendChild (document.createTextNode (text)) ؛ عناصر [j] .appendchild (span) ؛ }}} if (hideflicker) setStyLesHeetState ('Hide-flicker' ، false) ؛} وظيفة addLoadHandler (Handler) {if (window.adDeventListener) {window.addeventListener ("load" ، Handler ، false) ؛ } آخر if (window.attachevent) {window.attachevent ("onload" ، Handler) ؛ } آخر إذا (window.onload) {var oldhandler = window.onload ؛ window.onload = function piggyback () {oldHandler () ؛ معالج () ؛ } ؛ } آخر {window.onload = handler ؛ }} وظيفة setStyLesHeetState (معرف ، ممكّن) {var sheet = document.getElementById (id) ؛ if (sheet) sheet.disabled = (! enabled) ؛} دالة extracttext (element) {if (typeof element == "string") repurn ؛ آخر إذا (typeof element == "undefined") عنصر الإرجاع ؛ آخر if (element.innertext) return element.innertext ؛ var text = "" ؛ var Kids = element.childnodes ؛ لـ (var i = 0 ؛ i <Kids.length ؛ i ++) {if (Kids [i] .nodeType == 1) text+= extractText (Kids [i]) ؛ آخر إذا (الأطفال [i] .nodeType == 3) نص += الأطفال [i] } النص الإرجاع ؛} /* يجد عناصر في الصفحة تتطابق مع قاعدة محدد CSS معينة. بعض القواعد المعقدة غير متوافقة. استنادًا إلى وظيفة Simon Willison "GetElementsBySelector" الممتازة. الكود الأصلي (مع التعليقات والوصف): http://simon.incutio.com/archive/2003/03/25/getelementsbyselector*/function getElementsBySelector (محدد) {var tokens = ceanector.split ('') ؛ var currentContext = new array (document) ؛ لـ (var i = 0 ؛ i <okens.length ؛ i ++) {token = الرموز [i] .replace (/^/s+/، ''). استبدال (// s+$/، '') ؛ if (token.indexof ('#')> -1) {var bits = token.split ('#') ؛ var tagname = bits [0] ؛ var id = bits [1] ؛ var element = document.getElementById (id) ؛ if (tagName && element.nodename.toLowerCase ()! = tagName) إرجاع Array () ؛ CurrentContext = صفيف جديد (عنصر) ؛ يكمل؛ } if (token.indexof ('.')> -1) {var bits = token.split ('.') ؛ var tagname = bits [0] ؛ var className = bits [1] ؛ if (! tagName) tagName = '*' ؛ وجدت var = صفيف جديد ؛ var eventCount = 0 ؛ لـ (var h = 0 ؛ h <currentContext.length ؛ h ++) {var elements ؛ if (tagName == '*') عناصر = currentContext [h]. All؟ CurrentContext [h] .lall: currentContext [h] .getElementSbyTagName ('*') ؛ عناصر أخرى = currentContext [h] .getElementsByTagName (tagName) ؛ لـ (var j = 0 ؛ j <elements.length ؛ j ++) found [eventCount ++] = elements [j] ؛ } currentContext = صفيف جديد ؛ var currentContextIndex = 0 ؛ لـ (var k = 0 ؛ k <found.length ؛ k ++) {if (found [k] .className && found [k] .className.match (regexp new ('// b'+className+'// b')))) } يكمل؛ } if (token.match (/^(/w*)/[(/w+) ([= ~/|/^/*]؟) =؟ "؟ إذا تم العثور على (! CurrentContex [H]. (e.getTribute (attrname) == attrvalue) ؛ (e.gettribute (attrname). (e.gettribute (attrname). (e.gettribute). CurrentContex تم العثور على [eventCount ++] = عناصر [j] ؛2) إنشاء ملف PHP للصورة
<؟ php/* مولد العنوان الديناميكي بقلم ستيوارت روزنبرغر يتم تمرير صور PNG هذه إلى المتصفح. اختياريا ، يمكن تخزينها مؤقتًا للاستخدام لاحقًا. إذا تم العثور على صورة مخزنة مؤقتًا ، فلن يتم إنشاء صورة جديدة ، وسيتم إرسال النسخة الحالية إلى المتصفح. يمكن العثور على وثائق إضافية حول إمكانات معالجة صور PHP على http://www.php.net/image/ */$ font_file = 'trebuc.ttf' ؛ // يمكن إجراء Xiuga $ font_size = 23 ؛ // التعديلات المقابلة $ font_color = '#00000000' ؛ $ transparent_background = true ؛ $ cache_images = true ؛ $ cache_folder = 'cache' ؛/* ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ؛ $ send_buffer_size = 4096 ؛ // تحقق من الحصول على GD Supportif (! function_exists ('Meachecreate')) fatal_error ('error: server لا يدعم توليد صورة php') ؛ // تنظيف textif (فارغ ($ _ get ['text'])) fatal_error ('خطأ: لا يوجد نص محدد.') ؛ $ text = $ _get ['text'] ؛ if (get_magic_quotes_gpc ()) $ text = stripslashes ($ text) ؛ $ text = javaScript_TO_HTML ($ text) ؛ // ابحث عن نسخة مخبأة ، أرسل إذا كانت موجودة $ hash = md5 (basename ($ font_file). $ font_size. $ font_color. $ background_color. $ trapparent_background. $ text) ؛ $ cache_filename = $ cach_folder. '/'. التجزئة $. $ extension ؛ if ($ cache_images && ($ file =fopen ($ cache_filename ، 'rb'))) {header ('content-type:'. $ mime_type) ؛ بينما (! feof ($ file)) print (($ buffer = fread ($ file ، $ send_buffer_size))) ؛ fclose (ملف $) ؛ exit ؛} // تحقق من توافر الخط $ font_found = is_readable ($ font_file) ؛ if (! $ font_found) {fatal_error ('خطأ: الخادم يفتقد الخط المحدد.') HEX_TO_RGB ($ font_color) ؛ $ dip = get_dip ($ font_file ، $ font_size) ؛ $ box = imagettfbbox ($ font_size ، 0 ، $ font_file ، $ text) ؛ $ image = imagecreate ($ box [2]-$ box [0]) ! $ box) {fatal_error ('error: لم يستطع الخادم إنشاء صورة العنوان هذه.') ؛} // تخصيص الألوان ورسم النص $ background_color = imageColorAllocate ($ image ، $ background_rgb ['red'] ، $ background_rgb ['green'] ImageColorAllocate ($ image ، $ font_rgb ['red'] ، $ font_rgb ['green'] ، $ font_rgb ['blue']) ؛ ImagettFtext ($ image ، $ font_size ، 0 ،-$ box [0] ، abs ($ box [5]-$ box [3])-$ box [1] ، $ font_color ، $ font_file ، $ text) ؛ // قم بتعيين شفاف ($ tramparent_background) ImageColorTransparent ($ image ، $ background_color) ؛ header ('نوع المحتوى:'. $ mime_type) ؛ imagePng ($ image) ؛ // حفظ نسخة من Image for Cacheif ($ cache_images) {ImagePng ($ image ، $ cache_filename) ؛} imagedestroy ($ image) ؛ مخرج ؛ /* حاول تحديد "DIP" (البكسلات التي تم إسقاطها أسفل خط الأساس) لهذا الخط لهذا الحجم.*/وظيفة get_dip ($ font ، $ size) {$ test_chars = 'abcdefghijklmnopqrstuvwxyz'. 'abcdefghijklmnopqrstuvwxyz'. "1234567890". '! @#$ ٪^&* ()/' "/// ؛. المتصفح كرمز 500 بدلاً من ذلك. ImageColorlock ($ image ، 255. 500 رمز رأس ("HTTP/1.0 500 خطأ الخادم الداخلي") ؛ إذا كان ($ hex ، 0،1) Sentstr ($ hex ، 2،1) ؛ $ RGB ['Blue'] = hexdec ($ hex ، 4،2) ؛ preg_match_all ('/٪ u ([0-9a-f] {4})/i' ، $ text ، $ matches) ؛ '&#'. hexdec ($ matches [1] [$ i])3) الخطوط المطلوبة
هنا تضع الذات المطلوبة في نفس الدليل مثل ملفات JS و PHP (يمكنك أيضًا تعديلها ، ولكن يجب تعديل الملف المقابل أيضًا)
4) مكتبة GD2 PHP
2. تم تنفيذ رمز HTML
<؟ php // قم بتحميل مكتبة utils المنبثقة // require_once 'include/popup_utils.inc.php' ؛؟> <! doctype html public "-// w3c // dtd xhtml 1.1 // en "" http://www.w3.org/tr/xhtml11/dtd/xhtml11.dtd "> <html> <head> <title> تحسين محرك البحث الاحترافي مع php: جدول المحتويات </title> <script type =" text/javascript " src = "dynatext/repression.js"> </script> </head> <body onload = "window.resizeto (800،600) ؛" onResize = 'setTimeout ("window.resizeto (800،600) ؛" ، 100)'> <h1> تحسين محرك البحث الاحترافي مع php: جدول المحتويات </h1> <؟ php // عرض التنقل المنبثق فقط عندما يأتي الزائر من serp // display_navigation () ؛ // display_popup_navigation () ؛ ؟>> <ol> <li> أنت: مسوق المبرمج ومحرك البحث </li> <li> تمهيدي في SEO الأساسي </li> <li> عناوين URL الخاصة بـ SE-Filedly Friendly </li> <li> نقل المحتوى و CODES HTTP </li> <li> محتوى مكرر </li> إشارة مرجعية </li> <li> قبعة سوداء سيو </li> <li> sitemaps </li> <li> ربط الرابط </li> <li> ip cloaking ، الهدف الجغرافي ، وتسليم IP </li> <li> SEO على الإنترنت </li> <li> التعامل مع القضايا التقنية </li> WebLog؟ </li> <li> مقدمة للتعبير العادي </li> </ol> </body> </html>3. مقارنة قبل الاستخدام وبعد
قبل الاستخدام
بعد الاستخدام