有人知道我可以在哪裏設置CKEditor,所以添加的所有鏈接都會有rel =「nofollow」,即使用戶沒有指定它?Nofollow在CKEditor中的鏈接
2
A
回答
7
您可以創建一個數據過濾器在此頁面中,檢查每一個環節解釋說: http://docs.cksource.com/CKEditor_3.x/Developers_Guide/Data_Processor
這(未經測試)的代碼應該或多或少你所需要的:
editor.dataProcessor.htmlFilter.addRules(
{
elements :
{
a : function(element)
{
if (!element.attributes.rel)
element.attributes.rel = 'nofollow';
}
}
});
0
需要包裝:
editor.on('instanceReady',function(){...})
0
將頁面上,其中的CKEditor加載
代碼CKEDITOR.on('dialogDefinition', function(ev) {
var editor = ev.editor;
editor.dataProcessor.htmlFilter.addRules(
{
elements :
{
a : function(element)
{
if (!element.attributes.rel)
element.attributes.rel = 'nofollow';
}
}
});
})
+0
如何添加rel =「nofollow」only *外部鏈接*? – hakiko
0
我正在使用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;
}
相關問題
- 1. 添加nofollow鏈接
- 2. CKEditor中的圖像鏈接
- 3. 顯示在ckeditor中的鏈接
- 4. 如何將rel =「nofollow」添加到CKEditor中的鏈接(如果它是外部鏈接的)
- 5. Rails3和自動nofollow鏈接
- 6. 如何在angularjs中鏈接ckeditor?
- 7. ckEditor不在IE中保存鏈接
- 8. CKEditor的新插件(鏈接)
- 9. CKEditor - 鏈接對話框 - 內部鏈接
- 10. CKEditor中的自動鏈接URL
- 11. 問一下wordpress上的Nofollow鏈接
- 12. 在WordPress的帖子中添加rel =「nofollow」的所有鏈接
- 13. 在Wordpress中使用add_filter更改指向nofollow的鏈接
- 14. 我如何識別關係= NoFOLLOW鏈接
- 15. Ruby On Rails nofollow非內部鏈接
- 16. nofollow鏈接和搜索引擎排名
- 17. 如何使一個JavaScript行鏈接nofollow?
- 18. 與ckeditor編輯鏈接的鉻錯誤
- 19. 插入一個鏈接到CKEditor的
- 20. 無法編輯CKEditor上的鏈接
- 21. 如何在Rails中自動設置所有鏈接到nofollow
- 22. 如何在新選項卡和Nofollow中打開鏈接
- 23. 如何從CKeditor中的「鏈接」編輯器中刪除「鏈接到錨點」
- 24. CKEditor將在我的圖片鏈接中追加一個根
- 25. CKEditor不會將鏈接樣式應用於鏈接
- 26. 我如何在ckeditor內容的標籤上添加rel =「nofollow」
- 27. CKEditor鏈接對話框刪除協議
- 28. 自定義CKEditor鏈接對話框
- 29. CKEditor:將值傳遞迴鏈接插件
- 30. CkEditor - 圖像鏈接URL問題
謝謝,這是我想要的。 – Dofs
哪裏可以添加此代碼以獲得所需的結果? – Bhargav
您應該將此代碼添加到instanceReady事件的主體。 'CKEDITOR.on('instanceReady',function(ev){....});' – hkulekci