키워드를 일괄적으로 교체하는 문제는 교체만으로는 할 말이 없지만 여기서 필요한 것은 각 키워드를 한 번만 교체하면 된다는 점입니다. PHP 관련 함수 문서를 확인해 보니 PHP 자체에는 이 함수를 구현하는 함수가 없어 직접 해결해야 했습니다. 몇 가지 가능한 방법을 요약했습니다. 몇 가지 참고하세요!
(1) 이 기능을 구현하려면 preg_replace 함수를 사용하면 됩니다. preg_replace 함수 자체에서 교체 횟수를 제어할 수 있기 때문에, 구체적인 구현 방법은 다음과 같습니다.
//可以实现替换次数的控制,不仅限于只替换一次,比如$limit为2的时候表示一个词出现很多吃的时候仅替换2次,-1表示全部替换。$search 和 $replace 都可以是字符串或者数组,但必须对应 function str_replace_limit($search,$replace,$content,$limit=-1){ if(is_array($search)){ foreach ($search as $k=>$v){ $search[$k]='`'.preg_quote($search[$k],'`').'`'; } }else{ $search='`'.preg_quote($search,'`').'`'; } //把图片描述去掉 $content=preg_replace("/alt=([^ >]+)/is",'',$content); return preg_replace($search,$replace,$content,$limit); }
(2) substr_replace 함수를 사용하여 구현하지만 여기서는 한 번만 교체할 수 있습니다
//首先找到关键字所在位置,然后使用 substr_replace(系统函数)进行替换操作 function str_replace_once($search,$replace,$content){ //把图片描述去掉 $content=preg_replace("/alt=([^ >]+)/is",'',$content); $pos=strpos($content,$search); if($pos===false){ return $haystack; } return substr_replace($content,$replace,$pos,strlen($search)); }
`위 내용은 한 번만 교체하고 교체 횟수를 제어하는 PHP 구현 기능입니다. 모두의 학습에 도움이 되기를 바랍니다.