正则表达式速查表
Posted in IT相关 on 2008/04/14 / 评论(0) »
这里有两个正则表达式的速查表,都非常的简短,只有一页 A4 纸大小,可以方便的打印出来粘到墙上去,下次再忘记抬个头就可以了~

第一个是来自 erudil.comA Single Page Perl Regular Expression Quick Reference



第二个忘记从哪里搜到的了,Regex Cheatsheet.pdf



用来应付日常要用到正则表达式的工作足以, 如果想深入了解一下正则表达式的全部用法的话,还是去买本 O'reilly 的《Mastering Regular Expressions》吧~

两个文件打包后在这里下载
   网络中的任何计算机不管使用何种操作系统,都可以通过网络将打印文件发送到与打印服务器相连的打印机或者网络的其他打印机。
安装与共享本地打印机
本地打印机就是连接在用户使用的计算机上的打印机。要在Windows中添加打印机,步骤如下:
在已经装好打印机驱动的机子上设置打印机的共享.选择”开始→设置→打印机”.选择需要共享的打印机,点鼠标右键,选择共享.详细操作如图所示


选择”共享这台打印机”,设置好共享打印机的名,按确定结束.
客户机的设置:
打印机服务端设置好后,客户机只要添加这台共享的打印机就可以实现网络共享打印的实现.
(1)在执行“添加打印机”的第三步时,选择“网络打印机”,点击“下一步”,用户可以在此处设置查找打印机的方式。

  (2)如果用户希望在工作组中查找打印机,可以点击“下一步”,弹出“查找打印机”对话框。由于在局域网内部,可以选择“键入打印机名,或者点击‘下一步’,浏览打印机”单选项。

  (3)用户可以输入打印机名称也可以点击“下一步”,弹出“浏览打印机”对话框。在这里,“共享打印机”列表框中列出了域中的所有共享打印机以及与打印机连接的计算机。如果局域网中有多台打印机,用户可以在这里找到适合自己的打印机。

  (4)点击“下一步”按钮,在弹出的对话框中,用户可以设置是否将打印机设置为默认打印机。

  (5)点击“下一步”按钮 ,在弹出的对话框中,显示了用户设置的网络打印机的情况,点击“完成”后,就可以像使用本地打印机一样地使用网络打印机了。

具体操作如图所示:









用php5的simplexml解析各种feed
Posted in LAMP on 2008/04/14 / 评论(0) »

用simplexml处理atom数据

很多博客使用atom来输出数据,但是atom使用了名称空间(namespace),所以现在请求被命名的元素和本地名称时必须指定名称空间统一资源标识符(URI),还有一点就是simplexml的xpath方法无法直接query这个xml tree。

PHP 5.1 版开始,SimpleXML 可以直接对带名称空间的文档使用 XPath 查询。和通常一样,XPath 位置路径必须使用名称空间前缀,即使搜索的文档使用默认名称空间也仍然如此。registerXPathNamespace() 函数把前缀和后续查询中使用的名称空间 URL 联系在一起。

下面是使用xpath查询atom文档title元素的例子:

PLAIN TEXT
CODE:
  1. $atom =  simplexml_load_file('http://www.ooso.net/index.php/feed/atom');
  2. $atom->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');
  3. $titles = $atom->xpath('//atom:title');
  4. foreach ($titles as $title)
  5.   echo "<h2>" . $title . "</h2>";

用simplexml处理rss数据

wordpress可以输出rss2的数据源,这里面也有一些不同的namespace,比如dc。一个使用simplexml解析rss2的例子:

PLAIN TEXT
PHP:
  1. $ns = array (
  2.         'content' => 'http://purl.org/rss/1.0/modules/content/',
  3.         'wfw' => 'http://wellformedweb.org/CommentAPI/',
  4.         'dc' => 'http://purl.org/dc/elements/1.1/'
  5. );
  6. $articles = array();
  7. // step 1: 获得feed
  8. $blogUrl = 'http://www.ooso.net/index.php/feed/rss2';
  9. $xml = simplexml_load_url($blogUrl);
  10. // step 2: 获得channel metadata
  11. $channel = array();
  12. $channel['title']       = $xml->channel->title;
  13. $channel['link']        = $xml->channel->link;
  14. $channel['description'] = $xml->channel->description;
  15. $channel['pubDate']     = $xml->pubDate;
  16. $channel['timestamp']   = strtotime($xml->pubDate);
  17. $channel['generator']   = $xml->generator;
  18. $channel['language']    = $xml->language;
  19. // step 3: 获得articles
  20. foreach ($xml->channel->item as $item) {
  21.         $article = array();
  22.         $article['channel'] = $blog;
  23.         $article['title'] = $item->title;
  24.         $article['link'] = $item->link;
  25.         $article['comments'] = $item->comments;
  26.         $article['pubDate'] = $item->pubDate;
  27.         $article['timestamp'] = strtotime($item->pubDate);
  28.         $article['description'] = (string) trim($item->description);
  29.         $article['isPermaLink'] = $item->guid['isPermaLink'];
  30.         // get data held in namespaces
  31.         $content = $item->children($ns['content']);
  32.         $dc      = $item->children($ns['dc']);
  33.         $wfw     = $item->children($ns['wfw']);
  34.         $article['creator'] = (string) $dc->creator;
  35.         foreach ($dc->subject as $subject)
  36.                 $article['subject'][] = (string)$subject;
  37.         $article['content'] = (string)trim($content->encoded);
  38.         $article['commentRss'] = $wfw->commentRss;
  39.         // add this article to the list
  40.         $articles[$article['timestamp']] = $article;
  41. }

这个例子中,使用children方法来获得名称空间中的数据:

PLAIN TEXT
PHP:
  1. $dc      = $item->children($ns['dc']);
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]