小编Bri*_*and的帖子

正则表达式:如何匹配两个字符但排除某个组合

我需要这个正则表达式的帮助.我有许多文件名,格式为:

DataFile_en.dat
DataFile_de.dat
DataFile_es.dat
Run Code Online (Sandbox Code Playgroud)

它是DateFile_,后跟两个字符的语言代码.

我想编写一个正则表达式,匹配所有具有此模式的文件名但不包括英文名称(DataFile_en.dat)

我有这个模式来提取所有文件:

DataFile_\w{2}.dat
Run Code Online (Sandbox Code Playgroud)

但我不知道如何编写模式以排除使用'en'作为语言代码的模式.正则表达式将在Python中使用.

python regex

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

如何隐藏网站上的电子邮件地址以防止垃圾邮件?

我知道这有点宽泛,但问题是如何从垃圾邮件机器人中隐藏我的电子邮件?

每种方法的优缺点是什么?

html email spam-prevention

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

从PHP渲染React组件

我正在使用ReactJS为一个简单的可过滤项目列表提供支持,它可以很好地满足我的需求.

问题是我需要在服务器上呈现标记以获取SEO原因,但是当我调用React.renderComponent()它时,用React生成的标记替换现有标记.

在React的文档中搜索我发现了这个注释:

React.renderComponent()替换您传入的容器节点的内容.将来,可以将组件插入现有DOM节点而不覆盖现有子节点.

而且我不能React.renderComponentToString()用来生成标记服务器端,因为我的后端在PHP上运行...

是否有任何(即使是hackish)方式来实现当前版本(0.11.2)?

我想如果使用renderComponentToString()生成的标记可以实现,那么应该有一种模拟结果的方法吗?

谢谢你的建议!

javascript php client-side reactjs

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

正确处理多个顺序状态更新

这个例子有点做作,但请耐心等待。假设我有两个函数作为 React 组件的成员:

var OrderApp = React.createClass({
    getInitialState: function() {
        return {
            selectedOrders: {},
            selectedLineItems: {}
        };
    },

    setOrderSelected: function(order, newSelectedState) {
        var mutation = {};
        mutation[order.id] = {$set: newSelectedState};
        var newSelectedOrders = React.addons(this.state.selectedOrders, mutation);
        _.each(order.lineItems, function(lineItem) {
            setLineItemSelected(lineItem, newSelectedState);
        });
        this.setState({selectedOrders: newSelectedOrders});
    },

    setLineItemSelected: function(lineItem, newSelectedState) {
        var mutation = {};
        mutation[lineItem.id] = {$set: newSelectedState};
        var newSelectedLineItems = React.addons(this.state.selectedLineItems, mutation);
        this.setState({seelctedLineItems: newSelectedLineItems});
    }
});
Run Code Online (Sandbox Code Playgroud)

在调用 OrderApp.setOrderSelected(order, true) 完成时,只有最后一个 lineItem 选择状态在我的组件状态中似乎发生了变化。我猜这是因为 React 正在批处理对 setState 的调用,所以当我调用时:

var newSelectedLineItems = React.addons(this.state.selectedLineItems, mutation); …
Run Code Online (Sandbox Code Playgroud)

javascript immutability reactjs

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

像componentDidUpdate这样的事件,但只触发一次

我有一些组件,一旦他们的数据第一次到达并呈现就应该做一些工作,但不是为了将来的重新渲染.例如:加载并呈现评论,现在1.加载社交媒体库,然后加载一些Google Analytics.

现在我这样做:

componentDidUpdate: function (prevProps, prevState) {
    if (this.hasAlreadyUpdatedOnce) {
        // ... do some stuff...
    } else {
        // ... do some stuff that should happen only once...
        // 1. load social media libraries
        // 2. load some Google Analytics
        this.hasAlreadyUpdatedOnce = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

但我问自己是否有比设置这样的房产更优雅的方式.

javascript reactjs

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

反应使用 img onerror

我创建了一个 Image 组件

class Image extends React.Component {
  render() {
    return (
      <img src= { this.state.imgUrl } onError ={ this.onError() }/>
    );
  }
  onError(){
      console.log('Image onError');
        this.setState(
      { imgUrl: '../default.png' }
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

并在我看来使用它,但如果找不到一张图像。所有 Image Component 查看 onError

javascript image reactjs

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

溢出:隐藏在Safari中不起作用

我遇到了一个问题,我不明白:我制作YouTube图像的方法是将它们放在容器中

border-radius: 50%; 
overflow: hidden;
Run Code Online (Sandbox Code Playgroud)

这适用于Chrome和FF,但Safari将图像放在圆形容器"上方".

请检查小提琴:http://jsfiddle.net/nikita_turing/2QyY3/

如何在Safari上制作图像?

css safari

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

连接Python中两个列表中的所有项目

我想从两个列表中生成可能的网站列表:

strings = ["string1", "string2", "string3"]
tlds = ["com', "net", "org"]
Run Code Online (Sandbox Code Playgroud)

产生以下输出:

string1.com  
string1.net  
string1.org  
string2.com  
string2.net  
string2.org 
Run Code Online (Sandbox Code Playgroud)

我必须这样:

for i in strings:
    print i + tlds[0:]
Run Code Online (Sandbox Code Playgroud)

但是我无法连接str和list对象.我怎么加入这些?

python

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

当<a>包含<img>时,不显示[href $ =".xyz"]

我有很多超链接,如:

<a href="file.pdf">File</a>
Run Code Online (Sandbox Code Playgroud)

并且我使用CSS在这些链接中的每一个之后加上单词PDF,如下所示:

a[href$=".pdf"]:after {
content: "(pdf)"; 
font-size: 10px; 
color: #666; 
padding-left: 5px; 
vertical-align: 6%;
}
Run Code Online (Sandbox Code Playgroud)

这适用于文本超链接,但我不希望"(pdf)"显示超链接图像,例如:

<a href="file.pdf"><img src="" alt=""></a>
Run Code Online (Sandbox Code Playgroud)

这里有什么建议?

css

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

Chrome 扩展同步调用 - 仅在窗口关闭后创建窗口


我有这个代码:

function voteNewWindow(mailNum) {
    chrome.windows.create({
        url: 'http://www.google.com',
        incognito: true
    }, function (window) {
        console.log('created ' + window.id);
        chrome.tabs.query({
            active: true,
            windowId: window.id
        }, function (tabs) {
            var tab = tabs[0];
            chrome.tabs.executeScript(tab.id, {
                file: "jquery-2.1.1.min.js"
            }, function () {
                chrome.tabs.executeScript(tab.id, {
                    file: "content_script.js"
                }, function () {
                    chrome.tabs.sendMessage(tab.id, {
                        email: JSON.parse(localStorage.mailList)[mailNum]
                    }, function (response) {
                        console.log(response);
                        chrome.windows.remove(window.id);
                        console.log('window ' + window.id + " removed");
                    });
                });

            });
        });

    });
}


function execute() {

    for (var i = 0; i < JSON.parse(localStorage.mailList).length; …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous google-chrome-extension promise

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