php正则双引号
1. php高手请进:正则提取超链接中的网址和标题,如果兼顾有双引号和单引号或没有引号的超链接
<?php
$text = "递归是一种函数调用自身的机制。这是一种强大的特性可以把某些复杂的东西变得很简单。<a href='http://mp3..com'>MP1</a><a href=http://mp3..com>MP2</a><a href='http://mp3..com' target='_blank'>MP3</a><a href=http://mp3..com target=mainFrame>MP4</a><a href=http://mp3..com style=\"font-size:32px;color:#e53333;\">MP5</a><a href=\"http://mp3..com\">MP6</a>";
preg_match_all('/<a href=(.*)>(.*)<\/a>/isU',$text,$data_arr);
foreach( $data_arr[1] as $key=>$val ) {
$replace_str = $data_arr[0][$key];
$title = $data_arr[2][$key];
preg_match("/(https?|ftp|mms):\/\/([A-z0-9]+[_\-]?[A-z0-9]+\.)*[A-z0-9]+\-?[A-z0-9]+\.[A-z]{2,}(\/.*)*\/?/",$val,$url_data);
$url = $url_data[0];
$text = str_replace($replace_str,"<br/>\n{$title} {$url}",$text);
}
var_mp($text);
?>
这个可以识别得了网址中包含http开头的链接地址格式的。但如果还需匹配相对地址,建议是将所有可能出现的情况一一替换掉
2. 在PHP正则表达式中双引号与单引号有什么区别,双引号里哪些需要转义,单引号里又是哪些需要转义
单引号里不会转义
因此“\d"会直接传给正则引擎,然后由正则引擎将\d解释成数字
双引号中\d会转义,由于\d不是有意义的转义符,因此\d会变成字符‘d'传给正则引擎,所以必须写成'\\d'
3. php 的单引号和双引号的用法
$test1 = "PHP";
1:echo "互联网最流行的技术$test1" //输出 互联网最流行的技术PHP
2:echo '互联网最流行的技术$test1' //输出 互联网最流行的技术$test1
上面两个例子说明,双引号里面的变量,会当作变量解释,单引号里面的变量会直接当作字符串来处理,就是说,在单引号里面的变量会失去其变量的性质,变成一个字符串。
如果想用第一句的方法输入第二句的结果,加转义符号啊
3:echo "互联网最流行的技术\$test1" //输出 互联网最流行的技术$test1
4:echo "互联网最流行的技术$test1技术" //本来是想输出 互联网最流行的技术PHP技术,但是你发现,告诉你,找不到变量$test1技术,因为没有加空格,所以它把后面所有的都当成一个变量了。
所以你会发现,很多优秀的作品,都推荐使用''单引号来写变量,除非里面是SQL语句。就是防止这类的错误。至于为什么SQL除外,你可以自己想一下!
4. php如何输出双引号
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:index.php。
5. 在PHP正则表达式中双引号与单引号有什么区别,双引号里哪些需要转义,单引号里又是哪些需要转义
双引号里面的可以转义,单引号里面的不能转义,比如简单的\d代表数字,那么在单引号里面就不代表数字。
6. PHP 正则表达式\\1 \\2是什么意思
正则表达式中
'\\1' 匹配的是 字符 '\1' 。 (因为 '\\' 匹配字符 '\' )
'\\2' 匹配的是 字符 '\2'
单独斜杠的 \1 , \2 就是反向引用了。
'\1' 匹配的是 所获取的第1个()匹配的引用。例如,'(\d)\1' 匹配两个连续数字字符。
'\2' 匹配的是 所获取的第2个()匹配的引用。
以此类推