让summernote和Lightbox一起工作

时间:2016-03-10 18:00:25

标签: django lightbox summernote

我正在尝试在Django上写一个博客,这是我在Django的第一次体验。我想要的是结合Summernote和Lightbox让它们以下列方式协同工作:

•点击插入图片:

Summernote panel

summernote在Lightbox中插入图片。它的工作方式与Lightbox home page中的示例相同。

我应该修改什么以及如何修改?

提前致谢!

1 个答案:

答案 0 :(得分:0)

首先,这不是一个很好的解决方案,而是更多的方法。 您可以使用正则表达式匹配并分离出<img>标记。 Summernote以与数据库中的方式类似的方式存储输入的数据:

<p>Test content</p><p>test content</p><p> <img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJcAAABxCAMAAADvXMHUAAAAsVBMVEU8WJn///////08WZjp7fM8WZZZcKH///s4VZgsTY8vUZTN1d9CX5tzhLHl6+yNnroYR44wT5UUPoebpcEzVJKbqsE6WZP3+vtRZpzz9PiirMFOZ5q6wtN6jK/V3OIoSZK0u9Cqtc3BzNdvgakALog/XZIMPI+HlLOsusvHzNuBl7BieqOPnL8ANIeDjLNsgKPw9O5vf7MAKHwrTYaUqLg0Voc3UqGwv8hObZlibKAfRpYdBdWuAAAGsklEQVR4nO2YeZejKBeHVURBU1GUuJQLiZl0Yqe2mZpeJt//gw2bWyrV5+2ad5Y/+J2cVEQuPFzgcinLMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL67wpAKfBvcyyFSCD1Ya6/Mh703gvIVg/bmmsHP9IuoEGcJNW7zb8rCFFAkrhCt7uF9N5Wcj/EBZ+jbZuvVz9tCFb7qG5zN7ntbbKzbd/5MBfyuKVjr1c/7TDyrCxvckHk5c5f8Zfksj/CRe982Wty62VGNvb/h+unLUeum/6KO8lVbqLoCD6wr/42rlC2myaEkH9pHm9xAc0V8eAFf8AFZr4EQkMQHrnk46IJ8XDVp7TSTf2IC1kjF0J8xEjrqhYNKJ0KAaRB8JVaSy5KaUCWlkiYLVsSRRS+5brqtqgyxbU5FEXFn5VWgGDNwBtfeU0UPZ0LwA35WIPM2/PFeFcgAiauQ3X3EB33BUJy+ACRlffEzbxVoLuDiAFvLyoduCVYcKGiKsRHY8WtrXej+Ha" data-filename="download.png" style="width: 151px;"><br></p>

您可以使用正则表达式将其分成多个部分,然后通过将<img>标记包含<a>标记来回显部分,然后为<a>标记提供使灯箱工作所需的任何类别。您可以按照下面用php编写的示例,尝试用python编写它:

$pattern = '/(<img\s?)(src=")([^"]*)(")([^>]*)(>)/';

$string = '...summernote data like the example above...';

$split = preg_split($pattern, $string, -1, PREG_SPLIT_NO_EMPTY);

$x = preg_match($pattern, $string, $matches);

if(isset($x) && $x == true){
    echo $split[0].'<a class="lightbox-something" href="'.$matches[3].'">'.$matches[0].'</a>'.$split[1];        
}
else{
    echo $split[0];
}
当匹配失败时,

preg_split返回一个包含输入字符串的单个元素的数组,即没有img标签,因此$split[0]

 preg_match在字符串中搜索与模式中给出的正则表达式匹配的内容。

$matches:如果提供了匹配,则会填充搜索结果。 $ matches [0]将包含与完整模式匹配的文本,$ matches [1]将具有与第一个捕获的带括号的子模式匹配的文本,依此类推。