Announcement Title

Your first announcement to every user on the forum.

كود محول الروابط الخارجية الى روابط داخلية

Admin

مدير شركة انكور التطويرية
طاقم الإدارة
ادارة انكور
خطرت على بالي فكرة للتخلص من الروابط الاشهارية العشوائية التي تعاني منها المنتديات بعد ما انتشرت فكرة التسويق من خلال السبام، وهكذا لن يستطيعوا تخريب المنتديات بروابط عشوائية خارجية وستكون روابط داخلية.

الكود يقوم بتحويل الروابط الخارجية الى رابط موقعك، او الرابط الذي تختاره انت. ويمكنك ايضًا عمل استثناءات لروابط معينه مثل اليوتيوب وغيره.​

طريقة عمل الكود​

- يحول الروابط الخارجية التصلة بنصوص الى رابط داخلي للموقع
- يحول الروابط الخارجية التي تكون على شكل رابط دون الحاقها بنص الى نجوم وايضًا يربطها بالرابط الداخلي​

مثال مصور​

174005111319651.png

طريقة تركيب الكود​

توجه نحو لوحة الادارة - عناصر اضافية - اكواد الجافا سكربت - انشئ خانة جديدة وضع العنوان الذي يناسبك
وضع مكان الكود في المواضيع​
JavaScript:
const siteUrl = 'https://iinkor.com';
const whitelist = ['youtube.com', 'youtu.be', 'facebook.com', 'twitter.com', 'instagram.com', 'ahlamontada.com', 'iinkor.com'];

function convertLinks() {
    const postContents = document.querySelectorAll('.post-content, .content, #message, .post-body');
   
    postContents.forEach(post => {
        let html = post.innerHTML;
       
        html = html.replace(/\[URL[^\]]*\](https?:\/\/[^\[]+)\[\/URL\]/gi, (match, url) => {
            if (!whitelist.some(domain => url.includes(domain))) {
                return '[URL]****[/URL]';
            }
            return match;
        });
       
        html = html.replace(/(^|\s)(https?:\/\/[^\s\[\]<>"']+)(\s|$)/gi, (match, before, url, after) => {
            if (!whitelist.some(domain => url.includes(domain))) {
                return before + '****' + after;
            }
            return match;
        });
       
        post.innerHTML = html;
       
        const links = post.querySelectorAll('a');
        links.forEach(link => {
            const href = link.getAttribute('href');
            if (href && href.startsWith('http')) {
                if (!whitelist.some(domain => href.includes(domain))) {
                    const isUrlOnly = link.textContent.trim() === href;
                    if (isUrlOnly) {
                        link.textContent = '****';
                    }
                    link.setAttribute('href', siteUrl);
                }
            }
        });
    });
}

document.addEventListener('DOMContentLoaded', convertLinks);

const observer = new MutationObserver((mutations) => {
    mutations.forEach((mutation) => {
        if (mutation.addedNodes && mutation.addedNodes.length > 0) {
            convertLinks();
        }
    });
});

observer.observe(document.body, {
    childList: true,
    subtree: true
});

استبدل yoursite برابط موقعك
ويمكنك اضافة الاستثناءات مع قائمة الروابط اسفله ولا تنسى وضع فاصلة بينهم وآخر رابط يكون بدون فاصلة

بالتوفيق للجميع
والسلام ختام
 

ما هو انكور؟

هو منتدى عربي تطويري يرتكز على محتويات عديدة لاثراء الانترنت العربي، وتقديم الفائدة لرواد الانترنت بكل ما يحتاجوه لمواقعهم ومنتدياتهم واعمالهم المهنية والدراسية. ستجد لدينا كل ما هو حصري وكل ما هو مفيد ويساعدك على ان تصل الى وجهتك، مجانًا.
عودة
أعلى