為什么這樣寫不行,錯(cuò)在哪里?
<?php $str?=?'主要有以下幾個(gè)文件:index.php,?style.css,?common.js'; //將目標(biāo)字符串$str中的文件名替換后增加em標(biāo)簽 $pattern?=?'/(\w+\.\w+),(\w+\.\w+),(\w+\.\w+)/'; $replace?=?'<em>$1</em>,<em>$2</em>,<em>$3</em>'; echo?preg_replace($pattern,$replace,$str);
2016-01-30
錯(cuò)了:
你的“,”沒有轉(zhuǎn)義。
“,”后面的空格也沒有去檢測。
我的demo:
$str = '主要有以下幾個(gè)文件:index.php, style.css, common.js';
//將目標(biāo)字符串$str中的文件名替換后增加em標(biāo)簽
$p = '/(\w+\.\w+)\,\s(\w+\.\w+)\,\s(\w+\.\w+)/';
$replace = '<em>$1</em> , <em>$2</em>, <em>$3</em>';
preg_match($p,$str,$matches);
echo preg_replace($p,$replace,$str);
初學(xué)者,相互學(xué)習(xí)一下。
2016-03-26
$pattern 中的兩個(gè),后邊的空格你沒有加上,加上就是對(duì)的,還有就是"."是不用轉(zhuǎn)譯的。更正后如下:
$str = '主要有以下幾個(gè)文件:index.php, style.css, common.js';
//將目標(biāo)字符串$str中的文件名替換后增加em標(biāo)簽
?$pattern = '/(\w+.\w+), (\w+.\w+), (\w+.\w+)/';
?$replace = '<em>$1</em>,<em>$2</em>,<em>$3</em>';
?echo preg_replace($pattern,$replace,$str);
2016-03-11
因?yàn)槟銢]有加空格,在逗號(hào)后面有個(gè)空格,加上你的就正確了
2016-01-18
這樣寫沒錯(cuò)吧