Я использую PHP Codeigniter с CKEditor, и если вы хотите добавить rel = "nofollow" только для внешних ссылок, вы можете изменить вывод CKEditor перед его сохранением в базе данных. Вот функция PHP, которую я использую для изменения:
function addNofollow($content) {
$dom = new DOMDocument();
@$dom -> loadHTML(mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8'));
$x = new DOMXPath($dom);
// Add rel="nofollow"
foreach ($x -> query("//a") as $node) {
$href = $node -> getAttribute("href");
if (!strpos($href, site_base())) {
$node -> setAttribute("rel","nofollow");
} else {
$node -> removeAttribute("rel");
}
}
// Remove <script> tag
$script = $dom->getElementsByTagName('script');
$remove = [];
foreach ($script as $item) {
$remove[] = $item;
}
foreach ($remove as $item) {
$item -> parentNode -> removeChild($item);
}
$newHtml = $dom -> saveHtml($dom->getElementsByTagName('div')->item(0));
return $newHtml;
}