> 백엔드 개발 > PHP 문제 > 모든 문자열을 PHP 정규식으로 바꾸는 방법

모든 문자열을 PHP 정규식으로 바꾸는 방법

藏色散人
풀어 주다: 2023-03-07 16:16:02
원래의
2925명이 탐색했습니다.

모든 문자열의 일반 PHP 대체를 구현하는 방법: 먼저 preg_match() 함수를 사용하여 모든 문자열을 일치시킨 다음 배열을 탐색한 다음 strpos 함수를 사용하여 위치를 계산하고 마지막으로 문자열을 대체합니다. 지정된 위치.

모든 문자열을 PHP 정규식으로 바꾸는 방법

권장: "PHP 비디오 튜토리얼"

php에서 문자열의 여러 문자를 대체합니다

문자열을 대체하는 두 가지 함수가 있습니다

preg_match() 함수를 사용하여 다음을 수행하는 것입니다. match first 모든 문자열은 strpos() 배열을 순회하여 위치를 계산하고 substr_replace()를 사용하여 지정된 위치의 문자열을 바꿉니다.

예: HTML 페이지의 모든 태그 교체

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;
}
로그인 후 복사

위 내용은 모든 문자열을 PHP 정규식으로 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿