小编Ali*_*xel的帖子

Gruber的Python中的URL正则表达式

如何重写这种新方法来识别在Python中工作的地址?

\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))

python regex gruber

5
推荐指数
2
解决办法
1851
查看次数

在PHP中使用Gruber的正则表达式进行URL匹配

如何在php中使用preg_match处理本文中提到的正则表达式?

<?php
preg_match("\b(([\w-]+://?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))/i", $text, $matches);
print_r($matches);
?>
Run Code Online (Sandbox Code Playgroud)

使用上面的代码我收到以下错误:

Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash...
Run Code Online (Sandbox Code Playgroud)

php regex url preg-match gruber

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

调用父类方法

编辑问题以更好地反映我的需求.


请看以下示例:

class Base
{
    public $Text = null;

    public function __construct()
    {
        $this->Text = new Base_Text();
    }
}

class Base_Text extends Base
{
    public $Is = null;

    public function __construct()
    {
        $this->Is = new Base_Text_Is();
    }

    public function CammelCase($string)
    {
        return trim(str_replace(' ', '', ucwords($string)));
    }
}

class Base_Text_Is extends Base_Text
{
    public function CammelCase($string)
    {
        return ($string === $this->CammelCase($string)); // doesn't work
    }
}
Run Code Online (Sandbox Code Playgroud)

如何Base_Text_Is::CammelCase()不静态调用Base_Text类的情况下修复该方法(不使用parent::Base_Text::)?

我为这种情况提出的唯一解决方案是创建一个像这样的单例函数:

function Base()
{
    static …
Run Code Online (Sandbox Code Playgroud)

php oop overloading class

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

这是聪明还是没有?

是否可以使用此代码修剪和转义我的寄存器功能中的所有帖子?或者更好的做法是修剪和逃避每一个输入

// Trim and sanitize our input
$_POST = array_map('trim', $_POST);
$_POST = array_map('mysql_real_escape_string', $_POST);

if (invalidinput) dostuff
else insert into user (username,passwd) values ('{$_POST['username']}','{$_POST['passwd']}')
Run Code Online (Sandbox Code Playgroud)

php sql-injection

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

关于非关系型数据库(NoSQL)的问题

虽然我还没有使用任何新的NoSQL数据库,但我试图通过阅读维基百科的文章,博客和窥视一些NoSQL DBs文档来了解自己.

我刚刚(重新)阅读了2009年8月版的php | architect,特别是关于非关系数据库的文章和我头脑中出现的一些问题,我理解这篇文章对这个主题非常清楚,但它是足以让我困惑......

CouchDB的

关于CouchDB的主要问题是为什么这么多炒作?.从我了解的CouchDB提供了一个Web服务,可以让你创建数据库和文件数据库中,这些文件可以有多个JSON编码的属性,也有一个特殊的_id_rev属性的文件的跟踪修订.

我真的没有对此有所了解,几年前我为一个宠物项目编写了一个类似的(?)系统来存储文件,结构是这样的:

documents/
  document-name/
    (revision) timestamp/
      (contents) md5-hash.txt
        PHP Serialized Data
Run Code Online (Sandbox Code Playgroud)

我确信我缺少一些非常基础的东西,否则(从PHP开发人员的角度来看)这将与CouchDB具有相同的优势并且更快 - 不需要编码和解码JSON.


Amazon SimpleDB

现在这个真的让我头晕目眩......作者(Russell Smith)给出了以下例子:

$sdb->putAttributes('phparch', 'may', array('title' => array('value' => 'May 2009'), 'have' => array('value' => false)));
$sdb->putAttributes('phparch', 'june', array('title' => array('value' => 'June 2009'), 'have' => array('value' => true)));
$sdb->putAttributes('phparch', 'july', array('title' => array('value' => 'July 2009'), 'have' => array('value' => true)));
Run Code Online (Sandbox Code Playgroud)

然后他说Amazon现在支持类似SQL的接口,然后执行以下查询:

$sdb->select('phparch', 'SELECT * FROM phparch WHERE have = …
Run Code Online (Sandbox Code Playgroud)

database indexing couchdb nosql amazon-simpledb

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

如果一个网址是404,curl_multi_exec会停止,我该如何更改?

目前,如果连接的网址不起作用,我的cURL multi exec会停止,所以有几个问题:

1:为什么停止?这对我来说没有意义.

2:我怎样才能继续?

编辑:这是我的代码:

    $SQL = mysql_query("SELECT url FROM shells") ;
    $mh = curl_multi_init();
    $handles = array();
    while($resultSet = mysql_fetch_array($SQL)){       
            //load the urls and send GET data                     
            $ch = curl_init($resultSet['url'] . $fullcurl); 
            //Only load it for two seconds (Long enough to send the data)
            curl_setopt($ch, CURLOPT_TIMEOUT, 5);           
            curl_multi_add_handle($mh, $ch);
            $handles[] = $ch;
    }

    // Create a status variable so we know when exec is done.
    $running = null;
    //execute the handles
    do {
      // Call exec.  This …
Run Code Online (Sandbox Code Playgroud)

php curl curl-multi

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

如何使PoEdit正确解析自定义"ngettext"实现?

我编写了一个gettext包装器,它使l10n的整个过程变得更简单但不知何故我无法让PoEdit正确识别和解析对该函数的多个版本调用.这是我原来的:

_e(array('%d house', '%d houses'), 5);
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用,PoEdit根本没有选择.我也尝试过:

_e('%d house', '%d houses', 5);
Run Code Online (Sandbox Code Playgroud)

这次PoEdit捕获%d house但不是复数形式%d houses,但是如果我尝试完全相同但通过ngettext()调用它完美地工作,则识别单数和复数形式:

ngettext('%d house', '%d house', 5);
Run Code Online (Sandbox Code Playgroud)

我正确地(?)将_e关键字添加到项目设置中,但它没有获取多个变体.我也注意到PoEdit只有_,gettext并且gettext_noop作为默认的键盘拾取,没有任何参考ngettext,dngettextdcngettext功能,但它仍然可以正确接听ngettext电话......这让我想知道PoEdit是否硬编码了ngettext关键字 - 这真的很难过.

无论如何,有没有办法制作PoEdit(或任何其他类似的应用程序),正确解析自定义函数?

php localization gettext internationalization poedit

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

PHP 5.2.x中出现意外的T_PAAMAYIM_NEKUDOTAYIM

我很难理解为什么我Unexpected T_PAAMAYIM_NEKUDOTAYIM在下面的代码中出现错误,这对我来说似乎完全有效......

class xpto
{
    public static $id = null;

    public function __construct()
    {
    }

    public static function getMyID()
    {
        return self::$id;
    }
}

function instance($xpto = null)
{
    static $result = null;

    if (is_null($result) === true)
    {
        $result = new xpto();
    }

    if (is_object($result) === true)
    {
        $result::$id = strval($xpto);
    }

    return $result;
}
Run Code Online (Sandbox Code Playgroud)

PHP 5.3+中的输出:

echo var_dump(instance()->getMyID()) . "\n"; // null
echo var_dump(instance('dev')->getMyID()) . "\n"; // dev
echo var_dump(instance('prod')->getMyID()) . "\n"; // prod
echo var_dump(instance()->getMyID()) . …
Run Code Online (Sandbox Code Playgroud)

php php-5.2

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

响应式网格网页设计

我对网页设计与960.gs等CSS网格系统的响应速度有点混淆.

Nathan Smith(创作者或960.gs)前段时间提出了adapt.js,通过检查捆绑的样式表(mobile.css,720.css960.css等等),很清楚网格的数量列不受影响,只有各列的宽度和它们堆叠在一起的方式发生变化.

另一方面, 978.gs似乎遵循不同的模式:

  • 300px网格有8列
  • 748px和978px网格都有12列
  • 1218px和1378px网格都有16列

起初,我虽然没有太大意义,所以我和开发人员讨论了这个问题.他回答称,通常的做法是根据设备宽度提供不同的CSS 不同的标记.

这种方法对我来说似乎有点奇怪,因为如果你愿意重写整个HTML标记,你可以使用相同的网格系统(例如16),只需将所有.grid_{x}类更改.grid_{x*2}为适应更小的屏幕......对?

adapt.js方法似乎更容易实现和管理,但我也可以发现一些警告:图像或文本片段如何在grid_3类中很好地适应?作为其宽度范围可以从auto,到220px甚至610px2520.css变种?

那么,关于响应式网页设计和网格系统的当前最佳实践是什么?CSS媒体查询是否会影响网格(列宽)?事实上,我倾向于认为最好的方法可能是提供单个标记和样式表,让浏览器进行渲染/缩放.

我对此非常环保,所以感谢任何帮助 - 谢谢.

html css 960.gs media-queries responsive-design

5
推荐指数
0
解决办法
1493
查看次数

CSS:将INPUT元素重置为原始宽度

我不认为这是可能的,但我会问它,但我可以说我有以下HTML:

<div style="width: 500px;">
    <input class="full" />
</div>
Run Code Online (Sandbox Code Playgroud)

和相应的CSS:

input {
    width: 100%;
}

.full {
    display: inline;
    float: left;
    margin: 0 2%;
    width: 96%
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我的输入元素将具有480px的宽度,这适用于我的大多数需求,但在某些特定情况下它不会,例如:

<div style="width: 500px;">
    <input name="day" size="2" />
    <input name="month" size="2" />
    <input name="year" size="4" />
</div>
Run Code Online (Sandbox Code Playgroud)

这将使浏览器呈现宽度为500px(jsFiddle)的每个输入...

反正是否强制浏览器回滚到默认样式?

html css browser cross-browser

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