Score:1

จะใช้ nofollow และ target_blank กับลิงก์ภายนอกในข้อความที่สร้างด้วย CKEditor ได้อย่างไร

ธง cn

เมื่อฉันสร้างโหนด ฉันมักจะต้องเพิ่มลิงก์ไปยังเว็บไซต์ภายนอกในข้อความ

ฉันต้องการให้ลิงก์ภายนอกทั้งหมดเปิดในแท็บใหม่ และต้องการให้มี nofollow

ฟิลด์เนื้อหาใช้ CKEditor

ฉันจะสมัครได้อย่างไร ไม่ปฏิบัติตาม และ target_blank บนลิงก์ภายนอกในข้อความที่สร้างด้วย CKEditor หรือไม่

Score:1
ธง ru

คุณสามารถทำได้โดยอัตโนมัติโดยสร้างตัวกรองข้อความของคุณเองในโมดูลที่กำหนดเอง

โปรดทราบว่า /** @กรอง ... */ หน้าชั้นเรียนไม่ใช่ความคิดเห็น แต่เป็นคำอธิบายประกอบ จะต้องรวมไว้ในไฟล์ แทนที่ตัวพิมพ์ใหญ่แฟนซีทั้งหมดด้วยรหัสของคุณเอง

src/Plugin/Filter/MYFANCYFILTER.php

<?php

เนมสเปซ Drupal\MY_MODULE\Plugin\Filter;

ใช้ Drupal\filter\FilterProcessResult;
ใช้ Drupal\filter\Plugin\FilterBase;
ใช้ Drupal\Component\Utility\Html;

/**
 * @กรอง(
 * id = "MY_FANCY_FILTER",
 * title = @Translation("ฟิลเตอร์แฟนซีของฉัน"),
 * คำอธิบาย = @Translation("ทำให้ HTML น่าสนใจยิ่งขึ้น"),
 * ประเภท = Drupal\filter\Plugin\FilterInterface::TYPE_TRANSFORM_REVERSIBLE
 * )
 */
คลาส MYFANCYFILTER ขยาย FilterBase {

  กระบวนการทำงานสาธารณะ ($text, $langcode) {
    $result = ใหม่ FilterProcessResult($text);
    $dom = Html::load($text);
    $xpath = ใหม่ \DOMXPath($ดอม);

    // เพื่อเลือกลิงก์ทั้งหมดที่คุณต้องสร้างแบบสอบถาม XPath 
    // ข้อความค้นหาตัวอย่างด้านล่างเลือกแท็ก <a> ทั้งหมดที่มีแอตทริบิวต์ "href"
    // ดู https://www.w3schools.com/xml/xpath_syntax.asp
    foreach ($xpath->query("//a[@href]") เป็นองค์ประกอบ $) {
      // ตรรกะตัวอย่างด้านล่างยอมรับลิงก์ทั้งหมดที่ขึ้นต้นด้วย "http://" หรือ "https://" หรือ "//"
      ถ้า (preg_match('|^(https?:)?//.+|', $element->getAttribute('href')) === 1) {
        // ดู https://www.php.net/manual/de/class.domelement.php
        // สำหรับเอกสารเกี่ยวกับการจัดการมาร์กอัป HTML
        $element->setAttribute('MY_ATTRIBUTE', 'MY_VALUE');
      }
    }
    $result->setProcessedText(Html::serialize($dom));
    ส่งคืนผลลัพธ์ $;
  }
}

จากนั้นเปิดใช้งานตัวกรองข้อความใหม่สำหรับรูปแบบข้อความที่เกี่ยวข้องใน
การกำหนดค่า > การเขียนเนื้อหา > รูปแบบข้อความและตัวแก้ไข

Score:0
ธง pw

ฉันได้ลองเพิ่ม target="_blank" โดยใช้ Text Format=Full HTML โดยใช้ปุ่ม Source

มันได้ผลสำหรับฉัน

ป้อนคำอธิบายรูปภาพที่นี่

หากคุณไม่ต้องการด้วยตนเอง คุณสามารถลองใช้โมดูลต่อไปนี้ https://www.drupal.org/project/editor_advanced_link

ป้อนคำอธิบายรูปภาพที่นี่

cn flag
ขอบคุณ แต่ฉันรู้วิธีดำเนินการด้วยตนเอง เป็นงานมากสำหรับไซต์ที่โพสต์เป็นประจำ ฉันต้องการเพิ่มโดยอัตโนมัติในบรรทัดภายนอก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา