Heim  >  Artikel  >  Backend-Entwicklung  >  So ersetzen Sie alle Zeichenfolgen durch einen regulären PHP-Ausdruck

So ersetzen Sie alle Zeichenfolgen durch einen regulären PHP-Ausdruck

藏色散人
藏色散人Original
2020-11-17 09:40:402861Durchsuche

So implementieren Sie die reguläre PHP-Ersetzung aller Zeichenfolgen: Verwenden Sie zuerst die Funktion preg_match(), um alle Zeichenfolgen abzugleichen. Verwenden Sie dann die Funktion strpos, um die Position zu berechnen die angegebene Position.

So ersetzen Sie alle Zeichenfolgen durch einen regulären PHP-Ausdruck

Empfohlen: „PHP-Video-Tutorial

php zum Ersetzen mehrerer verschiedener Zeichen in einer Zeichenfolge

Es gibt zwei Funktionen zum Ersetzen von Zeichenfolgen

Die Idee ist, die Funktion preg_match() zu verwenden match first Alle Zeichenfolgen durchlaufen das Array strpos(), um die Position zu berechnen, und verwenden substr_replace(), um die Zeichenfolge an der angegebenen Position zu ersetzen.

Zum Beispiel: alle a-Tags in einer HTML-Seite ersetzen

function getAarr($str){
    //拿出网页中所有a标签放到数组
    $reg1="/<a[\s\S]*?>[\s\S]*?<\/a>/";
    $aarray = array();//这个存放的就是正则匹配出来的所有《a》标签数组
    preg_match_all($reg1,$str,$aarray);
    return $aarray[0];
}
function replace($sou_str,$urls){
    $arr_a = getAarr($sou_str);
    shuffle($urls);
    foreach($arr_a as $i=> $one){
        $begin = strpos($sou_str,$one);//开始位置
        $length = strlen($one);//字符串长度
        if(!isset($urls[$i])){
            $urls[$i][&#39;name&#39;] = str_replace(" ","",strip_tags($one));
            $urls[$i][&#39;url&#39;] = "./?".$urls[$i][&#39;name&#39;];
            $urls[$i] = "<a target=&#39;_blank&#39; href=&#39;".$urls[$i][&#39;url&#39;]."&#39; title=&#39;".$urls[$i][&#39;name&#39;]."&#39;>".$urls[$i][&#39;name&#39;]."</a>";
        }else{
            $urls[$i] = "<a target=&#39;_blank&#39; href=&#39;".$urls[$i][&#39;url&#39;]."&#39; title=&#39;".$urls[$i][&#39;name&#39;]."&#39;>".$urls[$i][&#39;name&#39;]."</a>";
        }
        if ($begin!==false){
            $sou_str = substr_replace($sou_str,$urls[$i],$begin,$length);
        }
    }
    return $sou_str;
}

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie alle Zeichenfolgen durch einen regulären PHP-Ausdruck. 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