小编mk_*_*_89的帖子

正则表达式区分ISBN-10和ISBN-13

我有一个If-else语句,它检查字符串以查看是否有ISBN-10或ISBN-13(书籍ID).

我面临的问题是在ISBN-10检查之前发生的ISBN-10检查,ISBN-10检查将匹配10个字符或更多的任何内容,因此可能会将ISBN-13误认为是ISBN-10.

这是代码......

$str = "ISBN:9780113411436";

if(preg_match("/\d{9}(?:\d|X)/", $str, $matches)){
   echo "ISBN-10 FOUND\n";  
   //isbn returned will be 9780113411
   return 0;
}

else if(preg_match("/\d{12}(?:\d|X)/", $str, $matches)){
   echo "ISBN-13 FOUND\n";
   //isbn returned will be 9780113411436
   return 1;
}
Run Code Online (Sandbox Code Playgroud)

我该如何确保避免此问题?

php regex validation isbn

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

如何使用html表单提交多个数组复选框

我正在尝试使用复选框表单提交多个数组,但我目前只能提交一个数组,这是我到目前为止所拥有的

在这个例子中,我提交了一个带数组的数字delete[]数组,这个数组得到了正确的处理,我也想提交这个数组,但condition[]这个数据没有得到正确处理,解决这个问题的最佳方法是什么?

PHP代码

$catalog = $database->getInventory();

if($catalog){   
   $numRows = sizeof($catalog);//count
   echo "<b>Book Count:</b> ".$numRows."<br>";

   echo "<form method='post' action='inventory.php'>";
   echo "<table id='example' class='tablesorter' border='0' cellpadding='0' cellspacing='1'>";
   echo "
      <thead>
         <tr>
           <th>ISBN</th>        
           <th>Title&nbsp;&nbsp;&nbsp;</th>
           <th>Rank&nbsp;&nbsp;</th>
           <th>Condition&nbsp;&nbsp;</th>   
           <th><input type='checkbox' name='delete' value='all' /></th>
         </tr>
      </thead>\n";


   foreach($catalog as $elem){
      echo "
         <tr>
            <td>".$elem["isbn"]."</td>
            <td>".$elem["title"]."</td>
            <td>".$elem["rank"]."</td>
            <td>".$elem["condition"]."</td>
            <td> 
               <input type='checkbox' name='add[]' 
                  value='".$elem['isbn']."_".$elem['condition']."_"."' />
            </td>
         </tr>";    
   }

   echo "</table>";
   echo "</form>";
}
Run Code Online (Sandbox Code Playgroud)

示例html标记

<form method='post' action='inventory.php'>
   <table>
      <tr>
         <td>
            <input type='hidden' name='addInventoryBook' value='1'>
            <input …
Run Code Online (Sandbox Code Playgroud)

html php forms

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

将amazon MWS暂存器查询转换为API调用

我想知道是否有办法将我的亚马逊MWS 暂存器查询转换为API调用

例如,当使用MWS暂存器时,我给了一个String来签名

   "mws.amazonservices.co.uk"
   ."/Products/2011-10-01"
   ."AWSAccessKeyId=xxx&Action=ListMatchingProducts"
   ."&MarketplaceId=xxx&Query=star%20wars&SellerId=xxx"
   ."&SignatureMethod=HmacSHA256&SignatureVersion=2
   ."&Timestamp=2012-07-27T18%3A59%3A30Z&Version=2011-10-01
Run Code Online (Sandbox Code Playgroud)

花了好几天试图让Amazons命令API工作后我已经放弃并一直希望以下函数会返回一个xml字符串......但没有运气

function callAmazon(){
    $apicall =  "mws.amazonservices.co.uk"
   ."/Products/2011-10-01"
   ."AWSAccessKeyId=xxx&Action=ListMatchingProducts"
   ."&MarketplaceId=xxx&Query=star%20wars&SellerId=xxx"
   ."&SignatureMethod=HmacSHA256&SignatureVersion=2
   ."&Timestamp=2012-07-27T18%3A59%3A30Z&Version=2011-10-01   

    $resp = simplexml_load_file($apicall);   //make the call
}
Run Code Online (Sandbox Code Playgroud)

有没有人有任何可能的建议?

php xml api amazon amazon-mws

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

PHP-无法在xampp中更改max_execution_time

我已经尝试了一切来改变max_execution_timePHP爬虫脚本,以便它可以运行无限的时间.

我已将php.ini文件设置更改max_execution_time0100000000但没有更改

我也尝试过使用PHP脚本本身设置它 ini_set('max_execution_time', 0);

所有的PHP脚本都会抛出相同的错误Fatal error: Maximum execution time of 3000 seconds exceeded,我可能会错过什么,如何确保没有最大执行时间限制?

PHP脚本

<?php
ini_set('MAX_EXECUTION_TIME', -1);
error_reporting(E_ALL);  // turn on all errors, warnings and notices for easier debugging
//ini_set('max_execution_time', 123456);
ini_set('max_input_time', -1);
ini_set('memory_limit', '512M');
set_time_limit(0);
date_default_timezone_set('Europe/London');

/*code which scrapes websites*/

?>
Run Code Online (Sandbox Code Playgroud)

phpinfo()函数

max_execution_time  0   0
max_input_time     -1   -1
Run Code Online (Sandbox Code Playgroud)

php time web-crawler

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

不抛出PDO异常

我是PDO的新手,关于它的一些事情使我感到困惑,我已经尝试创建一个测试函数来查看是否会为无效的查询抛出异常但是没有抛出任何东西.

这是代码

<?php
include_once("/var/www/include/constants.php");

class DB{
    private $DBH; 

    public function DB(){
        try{
            $DBH = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASS);   
        }
        catch(PDOException $e) {  
            echo $e->getMessage(); 
        }
    }

    public function test(){
        try{
            $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );  
            $DBH->prepare('DELECT id FROM users');  
        }
        catch(PDOException $e) {  
            echo $e->getMessage();  

        }
    }

};

/* Create database connection */
$db = new DB;
$db->test();

?>
Run Code Online (Sandbox Code Playgroud)

php pdo

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

点击远离它时隐藏DIV

我基本上试图用html,css和jquery创建一个简单的下拉菜单,并且当用户点击它时,我很难关闭div.

我已经尝试过stopPropagation并在单击时将操作绑定到文档,它们要么不起作用,要么我不知道如何使用它们.无论如何看看下面的代码

HTML

<div id="optionsMenu">
   <a href="account.php?edit=info">Account Settings</a>    
</div>
Run Code Online (Sandbox Code Playgroud)

JQuery的

$('.options').click(function(){
   if($('#optionsMenu').css("display") == 'none'){
      $('#optionsMenu').slideDown("fast");
   }

   else{
      $('#optionsMenu').slideUp("fast");
   }
});

$('#optionsMenu').blur(function(){
   $('#optionsMenu').css("display","none");
});
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很有帮助.

html javascript jquery

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

亚马逊mws api类'MarketplaceWebService_Client'未找到错误

下载解压缩亚马逊的MWS 客户端库 api后,我尝试运行其中一个脚本,看看是否一切正常.

当我试图运行文件GetReportCountSample.php时,我收到错误

Fatal error: Class 'MarketplaceWebService_Client' not found in C:\xampp\htdocs\sites\amazon marketplace\Samples\GetReportCountSample.php on line 68
Run Code Online (Sandbox Code Playgroud)

我查看了配置文件,并输入了我的凭据,例如:

define('AWS_ACCESS_KEY_ID', '<key id>');                 //has been input
define('AWS_SECRET_ACCESS_KEY', '<secret key id>');       //has been input

define('APPLICATION_NAME', '<Your Application Name>');   //no idea what this is
define('APPLICATION_VERSION', '<Your Application Version or Build Number>'); //no idea

define ('MERCHANT_ID', '<merch id>');                    //has been input
Run Code Online (Sandbox Code Playgroud)

我找不到一个名为的php文件MarketplaceWebService_Client,我需要帮助,谢谢.

php amazon-web-services amazon-mws

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

mysql_fetch_array返回重复数据

每次运行mysql_fetch_array时,都会返回一个带有重复值的数组,例如

Array
(
    [0] => 1
    [row_id] => 1
    [1] => some text
    [first_field] => some text
    [2] => some text
    [second_field] => some text 
}
Run Code Online (Sandbox Code Playgroud)

但我只想在数组中得到单个结果,我尝试过使用

mysql_fetch_array($data, MYSQL_ASSOC);
Run Code Online (Sandbox Code Playgroud)

但这没有区别.

php mysql

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

android的路径生成器应用程序

我正在尝试为我正在开发的Android应用程序绘制自定义形状,我正在使用路径.

public Path makeFloorPath(){
    Path p = new Path();
    p.moveTo(50, 300);
    p.lineTo(100, 250);
    p.quadTo(200, 250, 250, 200);
    p.lineTo(250, 250);
    p.lineTo(300, 300);
    p.close();
    return p;
}
Run Code Online (Sandbox Code Playgroud)

然而很多时候它似乎是一个猜谜游戏.是否有一个自由路径生成器应用程序,允许您直观地绘制路径?

我找到的最好的是这个http://codecanyon.net/item/path-generator/full_screen_preview/337072 问题是这个程序有局限性,因为你不能编辑点但你可以生成java路径.

java android vector path

6
推荐指数
0
解决办法
810
查看次数

Spring hibernate CrudRepository 根据唯一约束使保存方法更新

我理解默认情况下该CrudRepository.save方法基于主键插入和更新。

考虑以下实体

@Entity
public class BookEntity {
    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.AUTO)
    private int id;

    @Basic
    @Column(name = "isbn", unique = true)
    private String isbn;

    @Basic
    @Column(name = "title")
    private String title;

    @Basic
    @Column(name = "author")
    private String author;

    @Basic
    @Column(name = "publication_date")
    private Date publicationDate;

    @Basic
    @Column(name = "rank")
    private Integer rank;
}
Run Code Online (Sandbox Code Playgroud)

因为我不能在表中拥有相同 isbn 的书,而且我不想担心生成 id 我通常将以下 json 发布到一个端点

{ "isbn": "10932011", "title": "harry", "author": "jk", "publicationDate": "2018-10-10", "rank": 1000 }

它返回以下带有自动生成的 ID

{ "id": 3, …

java hibernate spring-boot

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