小编Tam*_*ara的帖子

Vagrant:无法从主机ping客户机

我有安装了vagrant的Mac OS.在客机上我有Ubuntu 12.所以,我想做的是从主机ping客户机.

连接到NAT的来宾机(根据VirtualBox设置)

我在客机上找到了一个接口(lo除外):

eth0      Link encap:Ethernet  HWaddr 08:00:27:88:0c:a6  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe88:ca6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:581 errors:0 dropped:0 overruns:0 frame:0
          TX packets:410 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:61376 (61.3 KB)  TX bytes:51599 (51.5 KB)
Run Code Online (Sandbox Code Playgroud)

问题是主机上的10.0.2.*网络中没有IP地址.主机有几个vboxnet接口,但它们都没有任何ip地址:

vboxnet0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          ether 0a:00:27:00:00:00 
vboxnet1: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          ether 0a:00:27:00:00:01 
vboxnet2: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          ether 0a:00:27:00:00:02 
vboxnet3: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          ether 0a:00:27:00:00:03 
Run Code Online (Sandbox Code Playgroud)

您是否知道为什么VirtualBox没有将ip地址分配给主机?我能做些什么才能ping阵风?

这是我的流浪文件(我删除了一些我不使用的注释行):

# -*- mode: ruby -*-
# vi: …
Run Code Online (Sandbox Code Playgroud)

virtualbox virtual-machine vagrant

16
推荐指数
2
解决办法
2万
查看次数

jQuery map()返回对象而不是数组

我有以下代码:

var selectedTitles = $("#js-otms-titles-table .select_title :checkbox:checked").map(function() {
    return $(this).attr('data-titleId');
});
console.log("Selected titles");
console.log(selectedTitles);
Run Code Online (Sandbox Code Playgroud)

我希望结果将是一个数组.但是我得到的对象如下:

Object["55a930cd27daeaa6108b4f68", "55a930cd27daeaa6108b4f67"]
Run Code Online (Sandbox Code Playgroud)

是否有特殊标志传递给函数?在docs中,他们将数组作为返回值.我错过了什么?

jQuery 1.11.2

jquery

14
推荐指数
3
解决办法
4522
查看次数

DOMPDF不适用于外部css文件

我正在使用Zend Framework和DOMPDF库.当我用内联css测试它时,一切都很完美.但是当我试图将css代码移动到外部文件时,规则并未应用于html页面.

这是我的代码.

  1. 控制器动作的代码,生成pdf

require_once( "DOMPDF/dompdf_config.inc.php");

    $this->_helper->layout->disableLayout();

    $html = $this->view->render('index/dom.phtml');

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->render();

    $pdfContent =   $dompdf->output();

    file_put_contents('sample.pdf', $pdfContent);

    die("test");
Run Code Online (Sandbox Code Playgroud)

2.相应视图的代码(index/dom.phtml)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <link type="text/css" href="/themes/css/pdf.css" rel="stylesheet"   media="screen"/>

</head>
<body>
    <div>Tamara testing</div>
    <table border="1">
        <tr>
            <th>Column 1</th>
            <th>Column 2</th>
        </tr>
        <tr>
            <td>Value 1</td>
            <td>Value 2</td>
        </tr>
    </table>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

3.和我的CSS文件:

div {color: red;}
Run Code Online (Sandbox Code Playgroud)

如何使其工作?

更新:

为了使它工作,我改变了以下的事情:

1.在控制器的操作中添加外部文件的基本路径

$dompdf->set_base_path(APPLICATION_PATH."/../public/themes/css/");
Run Code Online (Sandbox Code Playgroud)

2.在视图中更改链接标记的href属性.使其相对于步骤1中设置的基本路径.

<link type="text/css" href="pdf.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

css zend-framework dompdf

12
推荐指数
2
解决办法
3万
查看次数

Selectize.js:克隆元素和destroy()问题

我正在使用Selectize.js,我需要克隆带有转换选择元素的html子表单.克隆并插入子表单后,选择功能被破坏.

我已经读过,其中一个解决方案是为克隆选择调用destroy()方法,并在初始化之后再次为它们选择selectize.

我试着遵循这个建议,我的代码如下:

   $(formFields).find("select").each(function(){
    if (this.selectize) {
        this.selectize.destroy();
    }
});
Run Code Online (Sandbox Code Playgroud)

我期望看到的是标准的选择元素,但我看到没有工作下拉功能的选择元素.有任何想法吗?

javascript jquery selectize.js

6
推荐指数
2
解决办法
5729
查看次数

如何使<select>元素不选择默认选择的第一个选项?

我正在使用jquery相互依赖库来构建复杂的表单(当你显示字段依赖于来自其他字段的值时).

所以,我有<select>元素

<select placeholder="Select Product ID Type" id="form_product_id_type" name="form_product_id_type">
    <option label="01 - Proprietary" value="01">01 - Proprietary</option>
    <option label="02 - ISBN-10" value="02">02 - ISBN-10</option>
    <option label="03 - GTIN-13" value="03">03 - GTIN-13</option>
    <option label="04 - UPC" value="04">04 - UPC</option>
    <option label="05 - ISMN-10" value="05">05 - ISMN-10</option>
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

如果用户选择选项"01",那么我应该显示另一个字段"TypeDescription",用户可以在其中描述他的专有id方案.如果用户从select中选择任何其他选项 - 将不会出现"TypeDescription"字段.

事情就是第一个选择

<option label="01 - Proprietary" value="01">01 - Proprietary</option>
Run Code Online (Sandbox Code Playgroud)

在打开页面时始终默认选中,因此始终显示"TypeDescription"字段.

有没有办法从<select>元素中取消选择所有选项?我的目标是当用户打开页面时,他不应该看到字段"TypeDescription".

JSFiddle

html javascript jquery

3
推荐指数
1
解决办法
6327
查看次数

JS用正则表达式替换数字

我有一个元素的标识符,如下所示:

form_book_1_2_3
Run Code Online (Sandbox Code Playgroud)

我想要的是用其他值替换此标识符中的第二个数字.我使用函数'match'和以下正则表达式:

 var regexp = /\d_(\d)_\d/;
Run Code Online (Sandbox Code Playgroud)

但它返回包含的数组

[1_2_3, 2]
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试使用'replace'函数时,它实际上会替换'1_2_3'字符串而不是'2'.我不明白如何指向替换函数中的第二个匹配元素.或者也许我的正则表达式错了?

javascript regex

2
推荐指数
1
解决办法
672
查看次数

Mongo:仅从嵌套对象中选择一个字段

在 mongo 中,我存储具有“titleComposite”字段的对象。该字段包含标题对象的数组,如下所示:

 "titleComposite": [
 "0": {
        "titleType": "01",
        "titleText": "Test cover uploading"
      }
 ]
Run Code Online (Sandbox Code Playgroud)

我正在执行查询,我只想接收返回值的“titleText”值。这是我的查询的示例:

   db.onix_feed.find({"addedBy":201, "mediaFileComposite":{$exists:false}}, {"isbn13":1,"titleComposite.titleText":1})
Run Code Online (Sandbox Code Playgroud)

在结果中我看到类似的值

{ 
  "_id" : ObjectId("559ab286fa4634f309826385"), 
  "titleComposite" : [ { "titleText" : "The Nonprofit World" } ],          
  "isbn13" : "9781565495296" 
 }
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱“titleComposite”包装对象并只接收 titleText?例如,只取第一个元素的titleText?

将不胜感激任何帮助

mongodb mongodb-query

2
推荐指数
1
解决办法
3534
查看次数

Mocha + React:导航器未定义

我正在尝试为React组件编写第一个测试,并不断出错:

ReferenceError: navigator is not defined
Run Code Online (Sandbox Code Playgroud)

我有组件,其中一个子组件使用Codemirror来显示可编辑的文本区域。事实是,在Codemirror中可以检查导航器的类型。由于我不是在浏览器中运行此代码,而是在带有node.js的终端中运行,因此未定义。

SO上的一些人建议设置全局变量,但这对我不起作用。这是测试代码:

global.navigator = {
    userAgent: 'node.js'
};

import React from 'react'
import { shallow, render } from 'enzyme'
import { expect } from 'chai'
import { MessagesView } from '../../components/MessagesView'

describe('components', () => {
    describe('Message views', () => {
        it('render buttons', () => {

        })
    })
})
Run Code Online (Sandbox Code Playgroud)

还有设置导航变量的方法吗?或者也许我可以使用mocha选项设置全局变量?

javascript mocha.js navigator reactjs

2
推荐指数
1
解决办法
3033
查看次数

将 DOMDocument 根元素附加到另一个 DOMDocument

我有 2 个“DOMDocument”对象 - $original 和 $additional。我想要的是从 $additional DOMDocument 中取出所有孩子并将其附加到 $original 文档的末尾。

我的计划是获取 $additional 文档的根元素。我尝试使用:

$root = $additional->documentElement;
$original->appendChild($root)
Run Code Online (Sandbox Code Playgroud)

但是我收到 appendChild 期望 DOMNode 对象作为参数的错误。我尝试通过以下方式访问文档的每个子项:

$additional->childNodes->item(0);
Run Code Online (Sandbox Code Playgroud)

但它返回 DOMElement 的对象。你能建议如何获取 DOMNode 类的对象吗?提供此导入操作的最方便的方法是什么?

$original XML 看起来像:

<?xml version="1.0" encoding="utf-8"?>
<Product>
     <RecordReference>345345</RecordReference>
     <NotificationType>03</NotificationType>
     <NumberOfPages>100</NumberOfPages 
</Product>
Run Code Online (Sandbox Code Playgroud)

$additional XML 看起来像:

<?xml version="1.0" encoding="utf-8"?>
<MainSubject>
    <SubjectScheme>10</SubjectScheme>
</MainSubject>
Run Code Online (Sandbox Code Playgroud)

我想要的:

<?xml version="1.0" encoding="utf-8"?>
<Product>
     <RecordReference>345345</RecordReference>
     <NotificationType>03</NotificationType>
     <NumberOfPages>100</NumberOfPages>
     <MainSubject>
         <SubjectScheme>10</SubjectScheme>
     </MainSubject> 
</Product>
Run Code Online (Sandbox Code Playgroud)

php xml domdocument

1
推荐指数
1
解决办法
2851
查看次数

PHP:用换行符处理Excel单元格

我正在构建Excel模板,以从我们的用户那里获取有关产品的数据。问题是某些字段的数量可能会有所不同。

例如,产品可以有1个贡献者或12个贡献者。每个贡献者都有以下字段:

  • 键名
  • 密钥前的名称
  • 角色

我认为在Excel模板中包含12 * 4列不是一个好主意,因为第二天用户可以发送包含13个贡献者的产品。

我决定在一个单元格中包含有关所有贡献者的数据,例如在“贡献者密钥名称”单元中,我将拥有所有产品贡献者的名称,在“贡献者角色”单元中,我将具有所有贡献者的角色,等等。

我想用新的线符号划分贡献者数据。我使用以下数据创建了Excel表:

在此处输入图片说明

问题是,当我在PHP中读取这些单元格的值(例如“贡献者键名称”)时,看不到换行符号。相反,我收到带有奇怪字符的字符串:

在此处输入图片说明

我试着做

explode('\n',$cellValue);
Run Code Online (Sandbox Code Playgroud)

但这不起作用。

我使用PHPExcel库处理表。

我的问题是-如何在Excel中编码换行符号?您建议在Excel单元中使用什么作为分隔符?

UPD:

因此,为了用换行符分隔字符串,应使用“ \ n”作为分隔符。

我认为,字符串中出现了奇怪的符号,因为最初我是在Numbers应用程序中创建表,然后导出为xslx格式。(数字在导出过程中出现换行符问题)

php phpexcel

1
推荐指数
1
解决办法
6615
查看次数

PHP:检查字符串是utf-8还是utf-16le

我正在编写默认返回 utf-8 格式文档的函数,如果您提供特殊参数,它将返回 utf-16le 格式的内容。我开始为这个函数编写单元测试,我不明白的是如何检查编码是“utf-8”还是“utf-16le”。我已经尝试过mb_detect_encoding,但即使在这段代码片段中它也会返回false

  $utf16Doc = mb_convert_encoding($doc, "utf-16le", "utf8");
  $test = mb_detect_encoding($utf16Doc, "utf-16le");
  var_dump($test);
Run Code Online (Sandbox Code Playgroud)

感谢任何如何在测试中检查编码是 utf-16le 而不是 utf-8 的想法。

php utf-8 utf-16le mb-convert-encoding

1
推荐指数
1
解决办法
2611
查看次数