+ -
当前位置:首页 → 问答吧 → 求助 php 正则表达式

求助 php 正则表达式

时间:2011-04-18

来源:互联网

百度

如果通过表达式得到的字符串是 百度


麻烦贴上代码
  谢谢各位大侠

作者: xgs104644885   发布时间: 2011-04-18

百度

作者: xgs104644885   发布时间: 2011-04-18


[url=http://wwww.baidu.com]百度[/url]
如果通过表达式得到的字符串是   百度


麻烦贴上代码
    谢谢各位大侠

作者: xgs104644885   发布时间: 2011-04-18


百度 
如何通过表达式得到的字符串是 百度 


麻烦贴上代码 
  谢谢各位大侠 

作者: xgs104644885   发布时间: 2011-04-18

最简单的就是

preg_match('/(百度)/', $str, $arr);

如果说一个a标签中的链接内容,那么就是


preg_match('/<a[^>]+>([^<]+)<\/a>/i', $str, $arr);

作者: hnxxwyq   发布时间: 2011-04-18

百度 
preg_match('/\[[^\]]+\]([^\[]+)\[\/a\]/i', $str, $arr);

作者: hnxxwyq   发布时间: 2011-04-18

我需要的是全部匹配获取文本内容,而不是写死百度

作者: xgs104644885   发布时间: 2011-04-18

[url=http://wwww.baidu.com]百度[/url]
[url=http://wwww.163.com]163[/url]

我希望灵活一点的
可以取到标签的文本内容
如,通过表达式可以获取到百度,163   等文本字符串

作者: xgs104644885   发布时间: 2011-04-18

<?php      
$str   =   '[url=http://wwww.baidu.com]百度[/url] ';          
preg_match( '/\[[^\]]+\]([^\[]+)\[\/a\]/i ',   $str,   $arr);
print_r($arr);    

?>

这段代码取不到哦

作者: xgs104644885   发布时间: 2011-04-18

preg_match( '/\[[^\]]+\]([^\[]+)\[\/[^\]]+\]/i ', $str, $arr);

把a去掉。。。

作者: hnxxwyq   发布时间: 2011-04-18

OK。已经解决。谢谢啊。我得下载文档研究研究表达式了

作者: xgs104644885   发布时间: 2011-04-18

根据5#的正则你修改一下就是了,具体要怎么用就根据$arr[1]这个数组来获取对应的文本$arr[1][0],$arr[1][1]...;比如这样:
PHP code

<?php
$str=<<<EOF
[url=http://wwww.baidu.com]百度[/url]
[url=http://wwww.163.com]163[/url] 
EOF;
preg_match_all("#\[[^\]]+\]([^\[]+)\[\/url\]#is", $str, $arr);
print_r($arr[1]);
?>

作者: falizixun2   发布时间: 2011-04-18

热门下载

更多