$file = file_get_contents("http://www.bigsite.com");
Run Code Online (Sandbox Code Playgroud)
我怎样才能从$file包含单词"hello"的字符串中删除所有行?
我需要一个匹配多个东西的正则表达式.
我试图做的是,如果网址不包含某些单词,则发送邮件.(.xml,.jpg,.ico)
我的尝试,没有用:
if (!preg_match("/(\.xml)|(\.jpg)|(\.ico)/", $url))
mail("mail@mail.com", "the url doesnt contain .xml, .jpg or .ico", $url);
Run Code Online (Sandbox Code Playgroud) 有什么不对,当你在QUERY之前连接到LINE上的数据库时,你仍然得到"MySQL服务器已经消失"?
检查此示例代码:
mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());
$sql = mysql_query("SELECT id FROM db");
while ($data = mysql_fetch_assoc($sql)) {
$ids[] = $data[id];
}
foreach ($ids as $id) {
$content = file_get_contents("http://www.id.com/?id=$id");
if (stristr($content, "the id is ok man")) {
mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());
mysql_query("UPDATE db SET status = 'OK' WHERE id = '$id'");
}
}
Run Code Online (Sandbox Code Playgroud)
mysql服务器消失了,我在foreach循环中得到了它.顺便说一句,我需要连接foreachloop,因为它可能需要一段时间才能找到更新的东西(比如1-2分钟),然后肯定我会得到mysql服务器已经消失了.
我有一个大型产品数据库,每个星期天,我的脚本都会激活50个新产品.问题是,基于我脚本中的一些规则,我发现了一些我应该优先激活的产品.(您的例子,可以说应该总是优先考虑激活的产品名称为"凯蒂猫"和他们"米肖格",一切之前)
我的db表包含有关产品和唯一ID的信息.让我们说脚本找到5个这样的id,标题中有hello kitty.
那么,我怎样才能进行查询,以便优先项目排在最前面,然后是id desc?
这里有一些伪代码:
SELECT * FROM products order by (id='59', id='47', id='28', id='29', id='20'), id desc limit 50
结果应首先给我id 59,47,28,29和20,然后在product表中按id降序排序其他id.
这可能在一个查询?
这是从阵列中删除重复的strlen项的最简单方法吗?我做了很多类似的任务编程,这就是为什么我要问,如果我做得太复杂,或者这是最简单的方法.
$usedlength = array();
$no_duplicate_filesizes_in_here = array();
foreach ($files as $file) {
foreach ($usedlength as $length) {
if (strlen($file) == $length) continue 2;
}
$usedlength[] = strlen($file);
$no_duplicate_filesizes_in_here[] = $file;
}
$files = $no_duplicate_filesizes_in_here;
Run Code Online (Sandbox Code Playgroud) 是
$a = 1;
$b = $a;
Run Code Online (Sandbox Code Playgroud)
等于写这个?
$a = $b = 1;
Run Code Online (Sandbox Code Playgroud)
第二个示例是否总是将1作为$ a和$ b的值,即使$ a和$ b已经分配了值?
我有一个表,其中有一列包含产品名称。
我想按产品名称升序排序,但我希望包含“配件”一词的产品名称最后排序。
如何才能做到这一点?
我正在制作一个脚本,通过大量的电子邮件寻找两个字符串.
它会发现been all shipped on [timestamp here]或shipped by the seller on [timestamp here].
现在我得到一个空匹配,$res[1]如果它只找到第二个字符串,并且$res[2]如果它只找到第一个字符串则为空.我如何解决这个问题,以便始终填写$res[1]所找到的时间戳?
if (preg_match("/been all shipped on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})|shipped by the seller on ([0-9]{4}\.[0-9]{2}\.[0-9]{2} [0-9]{2}:[0-9]{2})/", strip_tags($message), $res)) {
}
Run Code Online (Sandbox Code Playgroud) 是否可以制作一个匹配的表达式,在这个单词之前和之后说'FINDTHISWORD'+最多5个单词?事情是,之前或之后可能只有0或1个单词,所以它应匹配0-5个单词+ FINDTHISWORD然后0-5个单词.
它应该匹配的例子:
fdoijfd iudfhiufdh fdhui FINDTHISWORD iduhdfd
FINDTHISWORD iduhdfd oijfdfd
doijd FINDTHISWORD
Run Code Online (Sandbox Code Playgroud) 我得到一些"不洁"的html字符串,我需要清理.
我想用2个html换行符连续替换"2个以上"的html换行符.
所以以下字符串:
$string = 'ytefey soeije hesouhodeseojedowe<br><br>
<br>ioueshe oiwj<br /><br />oijeewje<br /><br> <br> <br>';
Run Code Online (Sandbox Code Playgroud)
应该结束这样的事情:
$string = 'ytefey soeije hesouhodeseojedowe<br><br>
ioueshe oiwj<br /><br />oijeewje<br><br> ';
Run Code Online (Sandbox Code Playgroud)
到目前为止我得到了这个:
$string = preg_replace('#(<br>|<br />){2,}#i', '<br><br>', $string);
Run Code Online (Sandbox Code Playgroud)
但它并没有考虑到线路和空间.