只是试图找出执行数学运算的正确和更安全的方式作为字符串传递.在我的场景中,它是从图像EXIF数据中获取的值.
经过一些研究,我发现了两种方法.
首先,使用eval:
function calculator1($str){
eval("\$str = $str;");
return $str;
}
Run Code Online (Sandbox Code Playgroud)
第二,使用create_function:
function calculator2($str){
$fn = create_function("", "return ({$str});" );
return $fn();
};
Run Code Online (Sandbox Code Playgroud)
这两个示例都需要清理字符串以避免恶意代码执行.有没有其他或更短的方式这样做?
有没有什么方法可以在没有内容编码的情况下将HTML模板插入现有DOMNode?
我试过这样做:
$dom->createElement('div', '<h1>Hello world</h1>');
$dom->createTextNode('<h1>Hello world</h1>');
Run Code Online (Sandbox Code Playgroud)
输出几乎相同,唯一的区别是第一个代码将它包装在div中.我试图从字符串加载HTML,但我不知道如何将它的正文内容附加到另一个DOMDocument.
在javascript中,这个过程看起来非常简单明了.
我正在尝试将我的应用程序迁移到最新版本的Google地图API,并发现Google默认将自己的项目从Google商家信息目录附加到地图上.它与我自己的记录一起看起来不正确,因为它在地图上创建了可以正确放置的重复项目.
是否可以选择隐藏本地业务或控制显示的内容和不显示的内容?
这是示例代码:
<!DOCTYPE html>
<html>
<head>
<title>Google Maps JavaScript API v3 Example: Map Simple</title>
<meta name="viewport"
content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta charset="UTF-8">
<style type="text/css">
html, body, #map_canvas {
margin: 0;
padding: 0;
height: 100%;
}
</style>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
function initialize() {
var myOptions = {
zoom: 16,
center: new google.maps.LatLng(37.422833333333,25.323166666667),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById('map_canvas'),
myOptions);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map_canvas"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
正如您在地图上看到的,有一些小图标,您可以点击它们,信息将出现在气泡中.我需要隐藏此图标或至少禁用此项目的点击事件.
是否可以将camel case字符串解析为更具可读性的字符串.
例如:
UPDATE
使用simshaun正则表达式示例我设法使用此规则将数字与文本分开:
function parseCamelCase($str)
{
return preg_replace('/(?!^)[A-Z]{2,}(?=[A-Z][a-z])|[A-Z][a-z]|[0-9]{1,}/', ' $0', $str);
}
//string(65) "customer ID With Some Other JET Words With Number 23rd Text After"
echo parseCamelCase('customerIDWithSomeOtherJETWordsWithNumber23rdTextAfter');
Run Code Online (Sandbox Code Playgroud) 最近我发现我的应用程序在Google Chrome中行为不端.
在带有表单的页面上,在提交之后,我的应用程序使用这样的简单方法重新加载页面:
header('Location: ' . $url);
Run Code Online (Sandbox Code Playgroud)
之后,页面呈现不正确,并将此内容注入DOM
<div id="sbi_camera_button" class="sbi_search" style="left: 0px; top: 0px; position: absolute; width: 29px; height: 27px; border: none; margin: 0px; padding: 0px; z-index: 2147483647; display: none; "></div>
Run Code Online (Sandbox Code Playgroud)
手动页面刷新后,一切都按预期工作.
我不确定是什么导致了这种行为,因为我在封闭的本地环境中工作,并且应用程序在Firefox中正常工作.
我的应用程序使用以下库(本地托管):
有人可以告诉我什么可能导致这个问题吗?
更新到bootstrap 2.3.0后,我注意到popover工具提示的奇怪行为.
如果您输入该字段并尝试离开,工具提示将消失并隐藏输入字段.此问题仅发生在最新版本的bootstrap,不确定究竟是什么改变,但2.2.2适用于Prototype.
jQuery.noConflict();
jQuery('input[data-content]').popover({
trigger: 'focus'
});
Run Code Online (Sandbox Code Playgroud)
这是工作示例:http://jsfiddle.net/U6EDs/4/
有一段时间我注意到MySQL会将注释附加到已定义外键的InnoDB表中.它看起来像这样:
InnoDB free: 0 kB; (event_id) REFER events(event_id) ON U...
为了正确显示我的表描述,我必须解析字符串并用分号分割它.一般来说这不是什么大问题,但是在Database GUI中一直看到这些消息是非常烦人的.
我经历了stackoverflow,并发现这个问题在我的情况下不是很方便,所以我徘徊是否有可能禁用此行为/错误?
更新:托管提供商服务器上安装的MySQL版本是5.0.77
在jQuery DatePicker中,如果您将其用作日历并依赖于所选日期,则会有一件烦人的事情.在每月导航时,它会保持所选月份的所有月份.我知道这个问题存在超过6个月,我已经向jQuery团队报告了.但是我想知道是否有任何变通方法或如何禁用此行为?
可以在此处找到日历示例
我打算为我的目录创建一个模块,该模块将通过以下场景使用Google Image Search从用户的网站获取图像:
我被允许这样做,是否会侵犯任何版权?
UPDATE
我认为在我的商业目录中创建帐户的人是该网站的所有者(在条款和条件中说明),并且作为所有者他正在访问他的网站.应用程序将显示缩略图并使用Google搜索结果中的链接从其网站上获取原始图像.它有什么不同吗?
我的应用程序不是基于MVC模式构建的,而是部分使用Zend Framework组件,如Config,Loader,Session,Auth,Service和XmlRpc.
最近我发现,在某些情况下,如果用户浏览页面太快或按下F5太快,他的会话将被销毁,他将被退出系统.有一个类似的问题,但他的解决方案没有帮助我解决这个问题.
会话配置:
cookie_domain = ".mydomain.com"
name = "myApplicationName"
remember_me_seconds = 864000
save_path = "/path/to/my/session/storage/"
save_handler = "files"
strict = true
use_only_cookies = true
Run Code Online (Sandbox Code Playgroud)
在页面初始化:
$config = new Zend_Config_Ini(CONFIG_DIR . 'session.ini');
Zend_Session::setOptions($config->toArray());
Zend_Session::start();
Run Code Online (Sandbox Code Playgroud)
账户管理员:
function __construct(...)
{
/**
* @var $session Zend_Session_Namespace
*/
$session = Zend_Registry::get('Zend_Auth');
if(isset($session->identity))
{
Zend_Session::rememberMe();
}
}
Run Code Online (Sandbox Code Playgroud)
注销过程:
if(isset($_GET['logout']))
{
Zend_Session::destroy(TRUE);
}
Run Code Online (Sandbox Code Playgroud)
是否有其他人遇到过这个问题并且有一些线索可能有什么问题以及如何修复它?
我已经残疾Zend_Session::rememberMe(),现在一切似乎都很好.据我所知,在每次请求时,此方法刷新session_id并重命名会话文件,并且由于读/写性能问题,它无法找到新创建的会话,并且由于该会话处理程序丢失.
只是想知道,将会话存储更改为数据库是否可以解决此问题?
php ×5
parsing ×3
jquery ×2
string ×2
camelcasing ×1
comments ×1
datepicker ×1
dom ×1
domdocument ×1
eval ×1
foreign-keys ×1
html ×1
innodb ×1
javascript ×1
jquery-ui ×1
math ×1
mysql ×1
popover ×1
prototypejs ×1
regex ×1
session ×1