我有一个基本编辑器,基于execCommand这里介绍的示例.在该区execCommand域内粘贴文本有三种方法:
我想只允许粘贴纯文本,不带任何HTML标记.如何强制前两个操作粘贴纯文本?
可能的解决方案:我能想到的方法是在粘贴之前为(Ctrl+ V)设置用于keyup事件的监听器并剥离HTML标签.
可以通过三个PHP函数运行外部命令
system();
exec();
shell_exec();
Run Code Online (Sandbox Code Playgroud)
但他们的区别是什么?尽管它们具体应用,但在大多数情况下,可以同样使用.我很想知道哪些是可以同样使用的首选.例如,对于解压缩文件或压缩文件夹(使用tar命令),哪一个是首选(可能从性能的角度来看)?
更新:在另一个问题中,我发现了一个非常有用的链接,描述了这些功能的不同方面.我在这里分享链接,因为其他人可能会用来更好地了解安全问题和其他方面.
在数据库中存储图像的常用方法是base64在存储数据之前将图像转换为数据.此过程将使尺寸增加33%.或者,可以将图像直接存储为BLOB; 例如:
$image = new Imagick("image.jpg");
$data = $image->getImageBlob();
$data = $mysqli->real_escape_string($data);
$mysqli->query("INSERT INTO images (data) VALUES ('$data')");
Run Code Online (Sandbox Code Playgroud)
然后显示图像
<img src="data:image/jpeg;base64,' . base64_encode($data) . '" />
Run Code Online (Sandbox Code Playgroud)
使用后一种方法,我们节省了1/3的存储空间.为什么base64在MySQL数据库中存储图像更常见?
更新:关于在数据库中存储图像的优点和缺点有很多争论,大多数人认为这不是一种实用的方法.无论如何,在这里我假设我们将图像存储在数据库中,并讨论了这样做的最佳方法.
简单来说 setInterval
setInterval(function() {
// Do something every 9 seconds
}, 9000);
Run Code Online (Sandbox Code Playgroud)
第一个动作将在9秒后发生(t=9s).如何强制循环立即执行第一个动作(t=0)?
我认为这是由于setInterval有Delay - Action - Delay - Action ...循环的机制; 而不是Action - Delay - Action - Delay ...循环.
编辑:我的功能确实是一个循环
setInterval(function(){
$('.test').each(function(idx){
var duration = 1000;
$(this).delay(duration*idx);
Some stuff here
});
}, 4000);
Run Code Online (Sandbox Code Playgroud) 我使用此命令将一些单词插入到两列表中:
INSERT IGNORE INTO terms (term) VALUES ('word1'), ('word2'), ('word3');
Run Code Online (Sandbox Code Playgroud)
如何获取插入每个单词的行的ID(主键).我的意思是在执行后返回类似"55,56,57"的值INSERT.MySQL有这样的回应吗?
专栏一词是UNIQUE.如果一个术语已经存在,MySQL将不会插入它.是否可以返回此复制的引用(即该术语存在的行的ID)?像"55,A响应12,56".
由于HTML data属性允许添加任何自定义数据,我想知道将一组JSON列表作为data属性包含是一个好主意吗?然后,相应JSON的JavaScript事件可以通过事件轻松访问getAttribute("data-x").
实际上,我的问题是:向HTML属性添加大量数据是标准的,高效的和合理的吗?
例如
<div data-x="A LARGE SET OF JSON DATA" id="x">
Run Code Online (Sandbox Code Playgroud)
或者大量的JSON数据必须存储在<script>标记内,并且HTML属性不适合大型数据集,即使对于data属性也是如此.
PHP有一个简单的命令来获取网页的元标记(get_meta_tags),但这仅适用于具有名称属性的元标记.然而,开放图谱协议如今变得越来越流行.从网页获取opg值的最简单方法是什么?例如:
<meta property="og:url" content="">
<meta property="og:title" content="">
<meta property="og:description" content="">
<meta property="og:type" content="">
Run Code Online (Sandbox Code Playgroud)
我看到的基本方法是通过cURL获取页面并使用正则表达式解析它.任何的想法?
在一个简单的Javacript数组循环中
for (var i=0; i<array.length; i++) {
var previous=array[i-1];
var current=array[i];
var next=array[i+1];
}
Run Code Online (Sandbox Code Playgroud)
我需要在无限循环中获得previous和next元素.例如,
The previous element of the first element in the array is the array last element
The next element of the last element in the array is the array first element
Run Code Online (Sandbox Code Playgroud)
什么是最有效的方法.我能想到的唯一方法是检查元素是每一轮中数组的第一个还是最后一个.
实际上,我希望以某种方式使数组成为闭合循环,而不是线性.
我有一个简单的过去事件
document.getElementById('paste_area').addEventListener('paste', function() {
document.getElementById('notice').innerHTML='Text was successfully pasted!';
alert('Pasted');
}, true);
Run Code Online (Sandbox Code Playgroud)
可以在这里找到一个工作示例http://jsfiddle.net/XEQzz/
警告和通知将在粘贴之前显示.如何在粘贴事件实际完成后延迟警报操作?
我经常搜索一下jQuery的拖放教程(没有UI),但由于JQuery UI的普及,所有的拖放功能都基于JQuery UI.
任何人都可以给我一个提示如何通过JQuery独立进行基本的拖放操作?
javascript ×6
database ×2
html ×2
jquery ×2
mysql ×2
php ×2
arrays ×1
base64 ×1
draggable ×1
exec ×1
execcommand ×1
html5 ×1
image ×1
imagemagick ×1
insert ×1
json ×1
loops ×1
regex ×1
setinterval ×1
shell ×1
shell-exec ×1
sql ×1
system ×1