小编hak*_*kre的帖子

使用preg_match解析youtube视频ID

我正在尝试使用preg_match解析youtube网址的视频ID.我在这个网站上找到了一个似乎有效的正则表达式;

(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+
Run Code Online (Sandbox Code Playgroud)

如图所示:

替代文字

我的PHP如下,但它不起作用(给出未知修饰符'['错误)...

<?
 $subject = "http://www.youtube.com/watch?v=z_AbfPXTKms&NR=1";

 preg_match("(?<=v=)[a-zA-Z0-9-]+(?=&)|(?<=[0-9]/)[^&\n]+|(?<=v=)[^&\n]+", $subject, $matches);

 print "<pre>";
 print_r($matches);
 print "</pre>";

?>
Run Code Online (Sandbox Code Playgroud)

干杯

php regex youtube parsing

63
推荐指数
4
解决办法
6万
查看次数

Magento - 根据用户输入报价/订购产品项目属性

摘要

我想创建一个未保存到产品的产品属性,或者像普通产品属性一样显示在产品编辑页面上.相反,我希望它保存到订单/报价项目并显示在订单,发票等.在将产品添加到购物车之前,它还应该由前端的客户配置.

细节

  • 自定义选项一样,表单元素应添加到前端产品页面.
    • 自定义选项不同,这不是实际的产品属性.它不应显示在管理产品页面或属性集上.
    • 客户需要提供有效值.我需要能够进行服务器端验证.
    • 我想要一个.phtml模板生成它的html.目前,我能够以令人满意的(设计)结果覆盖app/design/frontend/base/default/catalog/product/view/type/default.phtml.但是,我不知道如何捕获,验证并最终保存其价值.
  • 此表单元素的值应与quote/order产品项一起保存.
    • 此值应显示在任何和所有发票,订单,销售电子邮件中.
    • 我想用模板控制输出,或者至少能够返回用于显示值的字符串

我的问题

  1. <input>当产品添加到购物车时,以及稍后在结账过程中,如何验证并最终将前端产品页面上的值保存到报价项目中?
  2. 如何在订单,发票,销售电子邮件和此类页面上显示此值?
  3. 如何过滤订单集合以获取具有我的值设置为特定值的项目的订单?

更新1

我发现我可以在诸如此类的事件中在catalog/product模型上运行此代码(并且可能sales/quote_item也是如此)sales_quote_item_qty_set_after

$infoBuyRequest = $product->getCustomOption('info_buyRequest');
$buyRequest = new Varien_Object(unserialize($infoBuyRequest->getValue()));
$myData = $buyRequest->getMyData();
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我能够从<input>产品页面上检索我的自定义客户提供的数据.

我怀疑这info_buyRequest是与报价和订单项目一起保存的.如果是这样,这部分解决了我的问题1和2.但是,我仍然不知道在哪里运行此代码是合适的,我不知道如何在后端订单/报价/报告页面上显示它.另外我相信,因为它作为序列化值存储在数据库中,根据我的自定义数据获取报价/订单项集合将是最困难的.

php magento

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

使用'badidea'或'thisisunsafe'来绕过Chrome证书/ HSTS错误仅适用于当前网站吗?

有时Chrome不允许您访问某些网站并丢失证书/ HSTS错误.我发现在Chrome窗口中输入badidea(最近thisisunsafe)会告诉Chrome跳过证书验证.

此解决方案是否仅适用于特定网站,或者在我使用此关键字后Chrome会忽略所有网站的证书/ HSTS错误?

security ssl google-chrome certificate

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

不推荐使用引用分配new的返回值

我刚收到一个错误.

当我尝试分配这样的对象时:

$obj_md = new MDB2();
Run Code Online (Sandbox Code Playgroud)

我得到的错误是"不推荐使用引用分配新值的返回值".实际上我一直在寻找一个解决方案,但我见过的唯一一个就是拒绝php.ini(error_reporting)的政治.我也尝试过,但它没有用.

这太令人困惑了......我希望你能帮助我.提前致谢.

php php-5.2

62
推荐指数
6
解决办法
22万
查看次数

何时使用Try Catch块

好吧,这可能是一个非常noob的问题,但我发现PHP文档和几个Internet搜索没有给我任何想法.

我什么时候应该使用try-catch块来改善我的应用程序?

我读过有人说我们应该只使用try-catch块来防止致命错误.我读到其他人说我们应该只在意外错误上使用它(等待什么?意外?如果它们是意外错误我怎么能用try-catch阻止它们?我应该把所有应用程序代码放在try块中吗?).其他人只是说try-catch块应该在任何地方使用,因为它们也可以扩展(扩展Exception类).最后有人说PHP try-catch块完全没用,因为它们实现得非常糟糕.(在此我发现了一个关于性能的好问题).

在我看来,这个话题非常奇怪和困惑.有人会点亮我吗?

php try-catch

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

新静电是什么意思?

我在一些框架中看到了这行代码:

return new static($view, $data);
Run Code Online (Sandbox Code Playgroud)

你怎么理解的new static

php

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

按键获取数组值

我正在寻找一个内置的PHP函数,它将数组键作为输入并返回相应的值.

例如,我有一个以下数组

$arr = array("key1"=>100, "key2"=>200, "key3"=>300, 'key4'=>400);
Run Code Online (Sandbox Code Playgroud)

我需要键key2key4的值,所以我有另一个array("key2", "key4") 我需要一个函数,它将这个数组和第一个数组作为输入,并在响应中提供值.所以回应将是array(200, 400)

php arrays

60
推荐指数
3
解决办法
7万
查看次数

PHP只读属性?

在使用PHP的DOM类(DOMNode,DOMEElement等)时,我注意到它们拥有真正的只读属性.例如,我可以读取DOMNode的$ nodeName属性,但我无法写入它(如果我做PHP抛出致命错误).

如何在PHP中创建自己的只读属性?

php programming-languages

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

在PHP SoapClient中禁用证书验证

简介:
有没有办法强制PHP内置的SoapClient类通过HTTPS连接到具有无效证书的服务器?

我为什么要那样做?
我在没有DNS条目或证书的服务器上部署了一个新的应用程序.我想设置DNS条目和修复证书之前尝试使用SoapClient连接它,最合理的方法是让客户端在测试期间忽略证书.

我不是意识到这是一个巨大的安全隐患吗?
这仅用于测试.当服务投入生产时,将会有一个有效的证书,客户端将被强制验证它.

php ssl https soap soap-client

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

使用header()强制文件下载

我希望用户能够下载我服务器上的一些文件,但是当我尝试使用互联网上的任何一个这样的例子时,似乎没有什么对我有用.我尝试过这样的代码:

<?php

$size = filesize("Image.png");

header('Content-Description: File Transfer');
header('Content-Type: image/png');
header('Content-Disposition: attachment; filename="Image.png"');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . $size);
readfile("Image.png");
Run Code Online (Sandbox Code Playgroud)

我甚至试图使用我能找到的最基本的例子,如下所示:

<?php
header('Content-type: image/png');
header('Content-Disposition: attachment; filename="Image.png"');
readfile('Image.png');
Run Code Online (Sandbox Code Playgroud)

当我测试了这个时,我已经删除了所有其他代码,并使用了一个空文件,仅使用此代码来删除外部源创建的任何错误.

当我在控制台中查看时,文件会以正确的标题发送,即

'Content-Disposition: attachment; filename="Image.png"'
Run Code Online (Sandbox Code Playgroud)

但是不显示保存对话框.

我也尝试使用inline而不是内容处理标题中的附件,但这也没有什么区别,我已经在Firefox 8.0.1 Chrome 15.0.874.121和Safari 5.1.1中测试过了.

php http-headers

56
推荐指数
4
解决办法
18万
查看次数