謝謝,關於正則

chenhaohh 2010-01-04 03:53:17
頁面一部份如下:
<tr>
<th >落札者</th>
<td>: </td>
<td>
by2***** / 評価:781<br>
</td>
</tr>

$html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459395');
preg_match_all($mode,$html,$value1);
print_r($value1);
echo $value1[1][0];

通過正則來獲取by2*****,怎麼寫$mode呢
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pandaidea 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jnkc 的回复:]
我的PHP都是utf-8的,获取的东西是日文编码,所以用了一些编码转换,如果你的php是日文编码那么转换可以省了。
PHP code<?php//方法一:$html=file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459395');$html=iconv('EUC-JP','UTF-8',$html);//将获取的日文转为utf-8$mode='#<td>\s*(.*) / 評価:#';preg_match_all($mode,$html,$value1);print_r($value1);echo$value1[1][0];echo'<hr/>';?><?php//方法二:$html=file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459393');$mode='#<td>\s*(.*) / 評価:#';$mode=iconv('UTF-8','EUC-JP',$mode);//将utf-8的正则转为日文preg_match_all($mode,$html,$value1);print_r($value1);echoiconv('EUC-JP','UTF-8',$value1[0][0]);//匹配出来的还是日文,所以要转到utf-8echo$value1[1][0];?>
[/Quote]

这位童鞋= =你装的是日文系统么?
江南昆虫 2010-01-05
  • 打赏
  • 举报
回复
我的PHP都是utf-8的,获取的东西是日文编码,所以用了一些编码转换,如果你的php是日文编码那么转换可以省了。
<?php
//方法一:
$html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459395');
$html = iconv('EUC-JP','UTF-8',$html);//将获取的日文转为utf-8
$mode = '#<td>\s*(.*) / 評価:#';
preg_match_all($mode,$html,$value1);
print_r($value1);
echo $value1[1][0];
echo '<hr/>';
?>

<?php
//方法二:
$html = file_get_contents('http://page5.auctions.yahoo.co.jp/jp/auction/e99459393');
$mode = '#<td>\s*(.*) / 評価:#';
$mode = iconv('UTF-8','EUC-JP',$mode);//将utf-8的正则转为日文
preg_match_all($mode,$html,$value1);
print_r($value1);
echo iconv('EUC-JP','UTF-8',$value1[0][0]);//匹配出来的还是日文,所以要转到utf-8
echo $value1[1][0];
?>
chenhaohh 2010-01-05
  • 打赏
  • 举报
回复
好的,謝謝大家了,馬上結貼
江南昆虫 2010-01-05
  • 打赏
  • 举报
回复
楼上的没发现楼主要抓取的是日文的吗?
http://page5.auctions.yahoo.co.jp/jp/auction/e99459395
liuahuilele 2010-01-04
  • 打赏
  • 举报
回复

/(by2)[^\s]+/
xuzuning 2010-01-04
  • 打赏
  • 举报
回复
$mode = "/byt[^ ]+/";
TM_skyinfo 2010-01-04
  • 打赏
  • 举报
回复
帮顶
正则表达式善于处理文本,对匹配、搜索和替换等操作都有意想不到的作用。正因如此,正则表达式现在是作为程序员七种基本技能之一*,因此学习和使用它在工作中都能达到很高的效率。 正则表达式应用于程序设计语言中,首次是出现在 Perl 语言,这也让 Perl 奠定了正则表达式旗手的地位。现在,它已经深入到了所有的程序设计语言中,在程序设计语言中,正则表达式可以说是标准配置了。 Java 中从 JDK 1.4 开始增加了对正则表达式的支持,至此正则表达式成为了 Java 中的基本类库,使用时不需要再导入第三方的类库了。Java 正则表达式的语法来源于象征着正则表达式标准的 Perl 语言,但也不是完全相同的,具体的可以参看 Pattern 类的 API 文档说明。 我在一次偶然中发现了位于 java.sun.com 站点上的 Java Tutorial,也在那里看到了关于 Java 的正则表达式教程,感觉它不同于其他的正则表达式教程,文中以大量的匹配实例来进行说明。为了能让 Java 学习者能更好地使用正则表达式,就将其完整地译出了。该教程中所介绍的正则表达式应用仅仅是最为简单的(并没有完全地涉及到 Pattern 类支持的所有正则表达式语法,也没有涉及到高级的应用),适合于从未接触过或者是尚未完全明白正则表达式基础的学习者。在学习完该教程后,应该对正则表达式有了初步的了解,并能熟练地运用 java.util.regex 包中的关于正则表达式的类库,为今后学习更高级的正则表达式技术奠定良好的基础。 教程中所有的源代码都在 src 目录下,可以直接编译运行。由于当前版本的 Java Tutorial 是基于 JDK 6.0 的,因此其中的示例程序也用到了 JDK 6.0 中的新增类库,但正则表达式在 JDK 1.4 就已经存在了,为了方便大家使用,改写了部分的源代码,源代码类名中后缀为"V4"的表示用于 JDK 1.4 或以上版本,"V5"的表示用于 JDK 5.0 或以上版本,没有这些后缀的类在各个版本中均可以正常使用。 由于译者的水平和技术能力有限,译稿虽经多次校对,难免有疏漏之处,敬请大家批评和指正。若有发现不妥之处,请发送邮件至 FrankieGao123@gmail.com,我会在 blog 中进行勘误,谢谢!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧