CKEditorのどこに私がセットアップできるのか知っていますか?ユーザーが指定しなくても、追加されたすべてのリンクはrel = "nofollow"になりますか?すべてのリンクをチェックし、このページで説明したようにCKEditorのリンクにnofollow
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"のみを外部リンク*に追加するには? – hakiko
0
CKEditorでPHP Codeigniterを使用していますが、外部リンクに対して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. SEO:通常のリンクの横にnofollowリンク
- 2. CKEditorはファイルをリンクしません(レール、mongoid、paperclip、s3の裏)
- 3. CKEditorバージョン - ウィジェット - CKEditorバージョンのプラグインでは、ボタン
- 4. rel = nofollowを追加してレールにリンクを投稿する
- 5. RDiscount出力にnofollowリンクを生成する
- 6. リッチテキストMIMEに.... CKEditorバージョン
- 7. ckeditorのカスタムフォント
- 8. CKEditorツールバーのカスタマイズ
- 9. CKEditorのHタグ
- 10. ckeditorプラグインのコードスニペット?
- 11. CKEditorのパブリックCDN
- 12. jquery ckeditor
- 13. CKEditor charset
- 14. ckeditorドラッグドロップウィジェット
- 15. SetReadOnly Ckeditor
- 16. CKEditorバージョンはCKEditorバージョン に問題があり
- 17. カスタムリンク/タグのckeditorプラグイン
- 18. ローカルホストのCKeditorとKCFinder
- 19. XHTML&CKEditorの質問
- 20. CKEditorインラインツールバーの位置
- 21. ポストCKEditorの内容
- 22. CKEditorの送信ボタン
- 23. CKEditorイメージアップロードの問題
- 24. CkEditorの入力フォーカス
- 25. CakePHP 2.0のCKEditor/CKFinder
- 26. RegExp:ページ上にあるすべてのリンクを見つける/ nofollow
- 27. CKEditorにカスタムボタンを追加
- 28. GZIP CKEditorバージョンに問題
- 29. CKEditorに@ font-faceを追加
- 30. CKeditorをsymfony2プロジェクトに統合
ありがとう、これは私が探していたexcatelyでした。 – Dofs
希望の結果を得るためにこのコードをどこに追加できますか? – Bhargav
このコードをinstanceReadyイベントの本文に追加する必要があります。 'CKEDITOR.on( 'instanceReady'、function(ev){....});' – hkulekci