Heim >Backend-Entwicklung >PHP-Tutorial >正则表达式 - PHP,正则替换如何写?

正则表达式 - PHP,正则替换如何写?

WBOY
WBOYOriginal
2016-06-06 20:19:101243Durchsuche

有字符串:'sdfUjer[ema14]XX[emb15],43你56^&%^%我[emc7]]]]]]'

其中 [ema14],[emb15],[emc7],是要替换的内容,

'[em'开头,']'结束,中间由字母加数字组成

将所有符合这个结构的,全替换成,,

最后应该得到这样的字符串:'sdfUjerXX,43你56^&%^%我]]]]]'

----------更新------------
楼下
文蔺[1]:http://segmentfault.com/u/wemlin
的答案可以正确替换,
preg_replace('/\[em([a-zA-Z]+\d+)\]/','',$str);

回复内容:

有字符串:'sdfUjer[ema14]XX[emb15],43你56^&%^%我[emc7]]]]]]'

其中 [ema14],[emb15],[emc7],是要替换的内容,

'[em'开头,']'结束,中间由字母加数字组成

将所有符合这个结构的,全替换成,,

最后应该得到这样的字符串:'sdfUjerXX,43你56^&%^%我]]]]]'

----------更新------------
楼下
文蔺[1]:http://segmentfault.com/u/wemlin
的答案可以正确替换,
preg_replace('/\[em([a-zA-Z]+\d+)\]/','',$str);

lz请原谅我很久没用PHP了。str_replace函数什么的。

考虑到正则表达式基本是共通的。我从js的角度回答下,lz权且一看吧。

<code class="javascript">var str = 'sdfUjer[ema14]XX[emb15],43你56^&%^%我[emc7]]]]]]';
var regex = /\[em([a-zA-Z]+\d+)\]/g;
var result = str.replace(regex , '');
console.log(result === 'sdfUjer<a14>XX<b15>,43你56^&%^%我<c7>]]]]]');</c7></b15></a14></code>

<code>$str = "[ema14]XXX[emb15]XXX[emc77]";
$pattern = '/\[em([^\]]*)\]/';
$resultArr = array();
$index = 0;
function replaceStr ($arr) {
GLOBAL $resultArr;
$resultArr[] = "";
}
preg_replace_callback($pattern, 'replaceStr', $str);
$str = implode("", $resultArr);</code>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn