PHP preg_Match含义和问题
目前我有以下代码:
<?php
if (isset($_GET['id'])) {
$itemid = $_GET['id'];
$search = "$itemid";
$query = ucwords($search);
$string = file_get_contents('http://clubpenguincheatsnow.com/tools/newitemdatabase/items.php');
if($itemid=="")
{
echo "Please fill out the form.";
}
else
{
$string = explode('<br>',$string);
foreach($string as $row)
{
preg_match('/^(D+)s=s(d+)s=s(D+)s=s(d+)/', trim($row), $matches);
if(strstr($matches[1], $query))
{
echo "<a href='http://clubpenguincheatsnow.com/tools/newitemdatabase/info.php?id=$matches[2]'>";
echo $matches[1];
echo "</a><br>";
}
}
if($matches[1]=="")
{
echo "Item does not exist!";
}
}
}
else {
echo "Item does not exist!";
}
?>
我想知道的是这个部分是什么意思?preg_match('/^(D+)s=s(d+)s=s(D+)s=s(d+)/', trim($row), $matches);
主要是/^(D+)s=s(d+)s=s(D+)s=s(d+)/
部分是我想知道的。
我该怎么做呢?请帮帮我!如有任何帮助,将不胜感激!
解决方案
这是一个正则表达式。
"^"匹配字符串的开头。
"D"匹配任何不是数字的字符。
"d"可匹配任何数字。
"%s"与任何空格匹配。
加号表示前一个字符可以多次出现。
所以基本上它将匹配文件中的所有行,最后一个逗号除外。
Blue = 1 = No = 20
该行将与正则表达式匹配。
关于您的最后一个问题要允许使用数字,请使用以下命令:
/^(.+)s=s(d+)s=s(D+)s=s(d+)/
相关文章