Home Backend Development PHP Tutorial PHP字符串替换次数控制方法

PHP字符串替换次数控制方法

Jun 20, 2016 pm 01:03 PM
php string

最近做的一个项目里面涉及到批量替换关键字的问题,仅替换而言没什么可说的,但这里需要的是每个关键字仅需要替换一次就可以了。查阅了php相关函数文档,发现php本身是没有函数实现这个功能的,所以不得不自己解决了。经过一番折腾总结了几种可行方法,小记一下!

(1)使用 preg_replace 函数实现这个功能,因为 preg_replace 这个函数本身是可以实现控制替换次数的,所以一开始就想到他了,具体实现方法如下://可以实现替换次数的控制,不仅限于只替换一次,比如$limit为2的时候表示一个词出现很多次的时候仅替换2次,-1表示全部替换。

$search 和 $replace 都可以是字符串或者数组,但必须对应

function str_replace_limit($search,$replace,$content,$limit=-1){<br />    if(is_array($search)){<br />        foreach ($search as $k=>$v){<br />            $search[$k]='`'.preg_quote($search[$k],'`').'`';<br />        }<br />    }else{<br />        $search='`'.preg_quote($search,'`').'`';<br />    }<br />	//把图片描述去掉<br />	$content=preg_replace("/alt=([^ >]+)/is",'',$content);<br />    return preg_replace($search,$replace,$content,$limit);<br /><p>}
Copy after login

(2)使用 substr_replace 函数来实现,不过这里仅能实现仅一次替换

//首先找到关键字所在位置,然后使用 substr_replace(系统函数)进行替换操作

function str_replace_once($search,$replace,$content){<br />	//把图片描述去掉<br />	$content=preg_replace("/alt=([^ >]+)/is",'',$content);<br />    $pos=strpos($content,$search);<br />    if($pos===false){<br />        return $haystack;<br />    }<br />    return substr_replace($content,$replace,$pos,strlen($search));<br />}
Copy after login


Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to convert characters to ascii code in php How to convert characters to ascii code in php Mar 03, 2023 pm 06:55 PM

In PHP, you can use the ord() function to convert characters into ascii code. This function can return the ASCII value of a single character or the first character in a string. The returned ASCII value will be displayed in integer form; the conversion syntax "ord (string)", the parameter "string" cannot be omitted, it is the string (or single character) from which the ASCII value is to be obtained.

How to replace a certain character to be empty in a php string How to replace a certain character to be empty in a php string Mar 06, 2023 pm 06:39 PM

There are two ways to replace a certain character with a null character in a PHP string: 1. Use the str_replace() function to replace the specified character with a null character. You only need to set the first parameter to the specified character and the second parameter to a null character. Syntax "str_replace("specified character","", $str)"; 2. Use the preg_replace() function with regular expressions to match the specified character and replace it with the null character, syntax "preg_replace('/specified character/', "",$str)".

How to remove all uppercase letters from string in php How to remove all uppercase letters from string in php Sep 26, 2022 pm 07:59 PM

Two removal methods: 1. Use preg_replace() to execute a regular expression to search for all uppercase letters and replace them with null characters. The syntax is "preg_replace('/[A-Z]/','',$str)". 2. Use preg_filter() to execute a regular expression to search for all uppercase letters and replace them with empty characters. The syntax is "preg_filter('/[A-Z]/','',$str)".

How to remove left and right characters from string in php How to remove left and right characters from string in php Mar 27, 2023 pm 03:29 PM

PHP is a typed programming language that is often used to develop web applications. During web development, you may need to perform various operations on strings, such as removing specific characters from a string, retaining numbers or letters in a string, etc. In this article, we will focus on how to remove specific characters on the left or right side of a string in PHP.

How to extract only Chinese characters from php string How to extract only Chinese characters from php string Sep 22, 2022 pm 07:44 PM

Two methods: 1. Use preg_match_all() with regular filter strings, the syntax is "preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);" ; 2. Use preg_replace() with regular search for non-Chinese letters in the string and replace them with empty characters. The syntax is "preg_replace("/[^\x{4E00}-\x{9FFF}]+/u" ,'',$str)".

Is it possible to add characters to a string in php? Is it possible to add characters to a string in php? Aug 19, 2022 pm 07:51 PM

PHP can add characters to strings. Two implementation methods: 1. Use the string connector "." to splice the specified character to the beginning or end of the string. The syntax is "specified character. string" or "string. specified character"; 2. use substr_replace The () function can insert the specified character at the specified position of the string. The syntax is "substr_replace(string, specified character, specified position, 0)". The value at the specified position can be 0, negative or positive.

How to remove double quotes from string in php How to remove double quotes from string in php Mar 28, 2023 pm 04:54 PM

PHP is a very popular programming language and one of the preferred tools for building dynamic websites. In PHP development, we often need to operate strings, and one common requirement is to remove double quotes from strings. In this article, we will introduce some methods to remove double quotes from PHP strings.

How to sort strings in php How to sort strings in php Sep 08, 2022 pm 08:02 PM

Implementation steps: 1. Use the str_split() function to convert the string into a character array, the syntax is "str_split(string)"; 2. Use the asort() or arsort() function to sort the character array in ascending or descending order, the syntax "asort (character array)" or "arsort (character array)"; 3. Use the implode() function to convert the sorted character array back to a string, the syntax is "implode (sorted character array)".

See all articles