亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么這樣寫不行,錯在哪里?

<?php
$str?=?'主要有以下幾個文件:index.php,?style.css,?common.js';
//將目標字符串$str中的文件名替換后增加em標簽
$pattern?=?'/(\w+\.\w+),(\w+\.\w+),(\w+\.\w+)/';
$replace?=?'<em>$1</em>,<em>$2</em>,<em>$3</em>';
echo?preg_replace($pattern,$replace,$str);


正在回答

4 回答

錯了:

  1. 你的“,”沒有轉義。

  2. “,”后面的空格也沒有去檢測。

我的demo:

$str = '主要有以下幾個文件:index.php, style.css, common.js';

//將目標字符串$str中的文件名替換后增加em標簽

$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);

初學者,相互學習一下。

0 回復 有任何疑惑可以回復我~
#1

三只松鼠 提問者

非常感謝!
2016-01-30 回復 有任何疑惑可以回復我~
#2

三只松鼠 提問者

發現逗號不用轉義的,我記得要轉義的是特殊字符也就是元字符,別的不需要轉義
2016-01-30 回復 有任何疑惑可以回復我~

$pattern 中的兩個,后邊的空格你沒有加上,加上就是對的,還有就是"."是不用轉譯的。更正后如下:

$str = '主要有以下幾個文件:index.php, style.css, common.js';

//將目標字符串$str中的文件名替換后增加em標簽

?$pattern = '/(\w+.\w+), (\w+.\w+), (\w+.\w+)/';

?$replace = '<em>$1</em>,<em>$2</em>,<em>$3</em>';

?echo preg_replace($pattern,$replace,$str);


0 回復 有任何疑惑可以回復我~

因為你沒有加空格,在逗號后面有個空格,加上你的就正確了

0 回復 有任何疑惑可以回復我~

這樣寫沒錯吧

0 回復 有任何疑惑可以回復我~
#1

三只松鼠 提問者

不行,要不你試試,我實在不知道錯在哪里了
2016-01-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP進階篇
  • 參與學習       181920    人
  • 解答問題       2668    個

輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序

進入課程

為什么這樣寫不行,錯在哪里?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號