Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie Abgleich und Ersetzung mit der regulären PHP-Funktion

So implementieren Sie Abgleich und Ersetzung mit der regulären PHP-Funktion

藏色散人
藏色散人Original
2021-11-15 09:30:322681Durchsuche

php正则函数实现匹配替换的方法:1、创建一个PHP示例文件;2、创建正则表达式;3、通过preg_replace函数执行正则表达式匹配与替换即可。

So implementieren Sie Abgleich und Ersetzung mit der regulären PHP-Funktion

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 正则函数怎么实现匹配替换?

php正则表达式的匹配与替换

  只介绍两个与Perl兼容的正则表达式函数:

  1.preg_match_all 函数执行正则表达式匹配与搜索;

  2.preg_replace 函数执行正则表达式匹配与替换。

  示例代码:

<?php

// 正则表达式,匹配日期格式
$pattern = "/(\d{2})\/(\d{2})\/(\d{4})/";

$text = "今年国庆节放假日期是10/01/2020到10/07/2020共7天,
              10/08/2020开始上班了。";

/*
  * 1.正则表达式的模式匹配与替换
  *
  * $\{1}是正则表达式 $patern 的第一个“()”括号;
  * $\{1} 等价于 \\1 ,但最好用前一种,因为后一种不便于字符串之间分隔;
  */
echo preg_replace($pattern, "\${3}-\${1}-\${2}", $text);

echo "<hr><pre class="brush:php;toolbar:false">";

/*
  * 2.正则表达式的匹配与搜索
  */
if(preg_match_all($pattern, $text, $matches, PREG_SET_ORDER)){
    print_r($matches);
}

echo "

"; echo "
匹配到".count($matches)."处字符串。"; echo "
分别是:"; foreach($matches as $value){ echo "
".$value[0]; }

 

执行后的效果:

 

<?php
/*
  * 在使用 preg_replace()函数时,有一个专门为它提供的模式修正符“e”(PHP 7已经弃用),
  * 也只有preg_replace()函数使用此修正符。
  * 在PHP 7中,preg_replace()函数不再支持“e”,需要使用preg_replace_callback()函数来代替。
  */
  
//$pattern = "/(<\/?)(\w+)([^>]*>)/e";
$pattern = "/(<\/?)(\w+)([^>]*>)/";

$text = "这个文本中有<b>粗体</b>和<u>带有下划线</u>以下<i>斜体</i>还
              有<font color=&#39;red&#39; size=&#39;8&#39;>带有颜色和字体大小</font>的标记。";
              
//echo preg_replace($pattern, "&#39;\\1&#39; . strtoupper(&#39;\\2&#39;) . &#39;\\3&#39;", $text);
echo preg_replace_callback($pattern, function($r){
            return $r[1].strtoupper($r[2]).$r[3];
        }, $text);

执行后的效果:

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonSo implementieren Sie Abgleich und Ersetzung mit der regulären PHP-Funktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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