我的应用程序创建了一个JavaScript对象,如下所示:
myObj= {1:[Array-Data], 2:[Array-Data]}
Run Code Online (Sandbox Code Playgroud)
但我需要这个对象作为数组.
array[1]:[Array-Data]
array[2]:[Array-Data]
Run Code Online (Sandbox Code Playgroud)
所以我尝试通过迭代$.each
对象并将元素添加到数组来将此对象转换为数组:
x=[]
$.each(myObj, function(i,n) {
x.push(n);});
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法将对象转换为数组或函数?
我正在考虑,如果在jQuery中可以使用AND和OR通过命名属性选择元素.
例:
<div myid="1" myc="blue">1</div>
<div myid="2" myc="blue">2</div>
<div myid="3" myc="blue">3</div>
<div myid="4">4</div>
Run Code Online (Sandbox Code Playgroud)
我想选择所有元素,myc="blue"
但只选择那些myid
设置为1或3 的元素.
所以我尝试过:
a=$('[myc="blue"] [myid="1"] [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
但它不起作用,同样在这里:
a=$('[myc="blue"] && [myid="1"] || [myid="3"]');
Run Code Online (Sandbox Code Playgroud)
没有编写特殊的过滤功能可以吗?
默认情况下,PHP函数使用$_GET
变量.有时应在$_GET
未设置的情况下调用此函数.在这种情况下,我将所需的变量定义为参数,如:actionOne(234)
为了得到一个抽象代码,我试过这样的事情:
function actionOne($id=$_GET["ID"])
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
解析错误:语法错误,意外T_VARIABLE
是否无法通过使用变量来定义默认参数?
编辑
在actionOne
从一个URL使用该框架被称为"直接" 的Yii.通过处理$_GET
此函数之外的变量,我必须在一个中心组件上执行此操作(即使它是一个简单,无关紧要的函数),或者我必须更改框架,我不喜欢这样做.
另一种方法可以是虚拟函数(类似于预函数),由URL调用.这个"虚拟"函数处理变量问题并调用actionOne($id)
.
我需要使用php exec命令解决UTF-8文件名.问题是php exec
命令似乎不懂utf-8.我使用这样的东西:
echo exec('locale charmap');
Run Code Online (Sandbox Code Playgroud)
回报 ANSI_X3.4-1968
看看这个问题,解决方案看起来像这样:
echo exec('LANG=de_DE.utf8; locale charmap');
Run Code Online (Sandbox Code Playgroud)
但我仍然得到相同的输出: ANSI_X3.4-1968
另一方面 - 如果我在bash命令行上执行这个php命令:
php -r "echo exec('LANG=de_DE.UTF8 locale charmap');"
Run Code Online (Sandbox Code Playgroud)
输出为UTF-8.所以问题是:
exec
如果它作为apache模块在网站内运行,如何设置UTF-8 ?我是python的新手,我试图解析一些XML文件,以便添加一些新的标签并存储新的XML文件.
python-beautifulsoup
接缝是适合它的包装.在网上搜索教程,如何向BeautifulSoup解析的XML添加新标签,我发现,使用了包python-bs4
.
查看包描述,两个包都具有相同的标题:
python-bs4 - error-tolerant HTML parser for Python
python-beautifulsoup - error-tolerant HTML parser for Python
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:有什么区别?
//更新:如果有人意味着对这个问题进行投票,那么留下原因作为评论是有帮助的.
我有一个XML文件,其中包含已定义的结构但标签数量不同,例如
file1.xml:
<document>
<subDoc>
<id>1</id>
<myId>1</myId>
</subDoc>
</document>
Run Code Online (Sandbox Code Playgroud)
file2.xml:
<document>
<subDoc>
<id>2</id>
</subDoc>
</document>
Run Code Online (Sandbox Code Playgroud)
现在我想检查标签是否myId
退出.所以我做了以下事情:
data = open("file1.xml",'r').read()
xml = BeautifulSoup(data)
hasAttrBs = xml.document.subdoc.has_attr('myID')
hasAttrPy = hasattr(xml.document.subdoc,'myID')
hasType = type(xml.document.subdoc.myid)
Run Code Online (Sandbox Code Playgroud)
结果是file1.xml:
hasAttrBs -> False
hasAttrPy -> True
hasType -> <class 'bs4.element.Tag'>
Run Code Online (Sandbox Code Playgroud)
file2.xml:
hasAttrBs -> False
hasAttrPy -> True
hasType -> <type 'NoneType'>
Run Code Online (Sandbox Code Playgroud)
好的,<myId>
不是属性<subdoc>
.
但是,如果存在子标签,我该如何测试?
//编辑:顺便说一下:我真的不喜欢通过整个子块进行迭代,因为这将非常慢.我希望找到一种可以直接解决/询问该元素的方法.
我需要创建一个SVG(使用PHP和/或Javascript),其中一些SVG元素是来自FontAwesome的图标,但是:没有外部依赖(例如:导入css文件等).
我发现这个 stackoverflow问题,这是一个类似的主题,但不适合我的问题,因为有外部依赖,如在显示svg的网页上添加FontAwesome(CSS文件).
不同的是,我需要一个一体化的SVG,其中所有必需的FontAwesome定义都是svg的一部分,因为用户应该能够下载生成的SVG以继续使用svg查看器或编辑器进行处理.
有没有办法,将(例如)一个"Font Awesome"图标的定义放入一个svg?
我找到了这个(可能)svg信息列表.所以看起来,图标路径可用作SVG代码.那么我可以在一个svg中使用它?
//更新:我发现了以下示例,但我不知道,如何包含FontAwesome定义以及如何访问图标:-(
<?xml version="1.0" standalone="yes"?>
<svg width="100%" height="100%" version="1.1"
xmlns = 'http://www.w3.org/2000/svg'>
<defs>
<font id="Font2" horiz-adv-x="1000">
<font-face font-family="Super Sans" font-weight="normal" font-style="italic"
units-per-em="1000" cap-height="600" x-height="400"
ascent="700" descent="300"
alphabetic="0" mathematical="350" ideographic="400" hanging="500">
<font-face-src>
<font-face-name name="Super Sans Italic"/>
</font-face-src>
</font-face>
<missing-glyph><path d="M0,0h200v200h-200z"/></missing-glyph>
<glyph unicode="!" horiz-adv-x="300"><!-- Outline of exclam. pt. glyph --></glyph>
<glyph unicode="@"><!-- Outline of @ glyph --></glyph>
<!-- more glyphs -->
</font>
</defs>
</svg>
Run Code Online (Sandbox Code Playgroud) 我的javascript应用程序非常适用于firefox和chrome.但它在Internet Explorer(IE 8)上被破坏了.
我在控制台日志中没有收到错误消息.通过调试我注意到的代码,应用程序在以下行中断:
series.reduce(visit, []);
Run Code Online (Sandbox Code Playgroud)
此时整个功能退出.我知道,这reduce
适用于数组,但console.info(typeof(series))
告诉:对象
但是这个对象看起来像一个数组 - 它可以在FF/Chrome上运行.这可能是为什么IE停止处理此功能的原因?并且:如何在IE处理这个?
谢谢.
javascript arrays reduce internet-explorer internet-explorer-8
从PHP5.2.6升级到php 5.3之后.它接缝,我还必须重新安装PHP memcache-module.所以我下载了最新版本的memcache(3.0.6)并遵循了这个文档:http: //www.php.net/manual/en/install.pecl.pear.php
pecl install memcache
Run Code Online (Sandbox Code Playgroud)
这导致以下错误消息:
No releases available for package "pecl.php.net/memcache"
install failed
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?顺便说一句:服务器没有连接到互联网,但这应该不是问题,对吧?!
我正在使用PHP mail()函数发送带附件的邮件.因此,PHP源内容是一个边界,用于定义附件的开始和结束位置.
所以问题是:是否有任何用于创建此MIME边界的标尺(例如,只允许使用字母和numbres)我仍然知道这个问题 - > 什么规则适用于MIME边界? 是否有必要从HASH创建边界?因为以下也有效:
$headers .= "Content-Type: multipart/related; boundary=\"abc\"";
[...]
$msg .="--abc\n";
[...]
$msg .= "--abc--\n\n";
Run Code Online (Sandbox Code Playgroud)
有一个原因,为什么MIME边界应该是唯一值?
..i没有在互联网上找到任何信息.
谢谢!
php ×4
arrays ×2
javascript ×2
jquery ×2
python ×2
xml ×2
boundary ×1
bs4 ×1
css ×1
email ×1
encoding ×1
exec ×1
find ×1
font-awesome ×1
function ×1
hash ×1
icons ×1
include ×1
memcached ×1
mime ×1
object ×1
operators ×1
parameters ×1
pear ×1
pecl ×1
python-3.x ×1
reduce ×1
svg ×1
tags ×1
testing ×1
utf-8 ×1
variables ×1